aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp20
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.hpp2
2 files changed, 18 insertions, 4 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index 7338882..e834bc0 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -22,6 +22,8 @@ BoardCanvas::BoardCanvas(wxFrame *parent)
Bind(wxEVT_KEY_DOWN, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();});
Bind(wxEVT_KEY_UP, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();});
+ SetClockTime(0,0,0, false);
+ SetClockTime(0,0,0, true);
}
BoardCanvas::~BoardCanvas() {
@@ -172,6 +174,7 @@ void BoardCanvas::Animate(const std::string &board, bool is_black_turn, std::map
void BoardCanvas::DrawBoard(wxDC &dc) {
std::uint32_t piece_width = t->GetPiecesSizes();
std::uint32_t centrer_offset = (square_width - piece_width) / 2;
+ wxSize numbers_size=dc.GetTextExtent("0");
bool DrawDraggingPiece = false;
char dp = 'p';
@@ -198,6 +201,17 @@ void BoardCanvas::DrawBoard(wxDC &dc) {
}
}
+ // Draw numbers
+ dc.SetFont(wxFont(*wxNORMAL_FONT).MakeBold());
+ if(file==0){ // Right numbers
+ dc.DrawText(wxString((char)('1'+7-rank)),
+ x+square_width+numbers_size.x/2,y+square_width/2-numbers_size.y/2);
+ }
+ if(rank==7){ // Bottom numbers
+ dc.DrawText(wxString((char)('a'+7-file)),
+ x+square_width/2-numbers_size.x/2,y+square_width);
+ }
+
std::uint8_t prank = rank;
std::uint8_t pfile = file;
if (black_side) {
@@ -236,7 +250,7 @@ void BoardCanvas::DrawBoard(wxDC &dc) {
badgeY = boardY + (8 * square_width) - badgeWidth;
}
}
- wxRect badge(boardX + (8 * square_width) + badgeWidth / 2, badgeY, badgeWidth,
+ wxRect badge(boardX + (8 * square_width) + badgeWidth, badgeY, badgeWidth,
badgeWidth);
dc.DrawRectangle(badge);
@@ -299,7 +313,7 @@ void BoardCanvas::DrawBoard(wxDC &dc) {
wxCoord width, height;
dc.GetTextExtent(time, &width, &height);
dc.DrawText(time,
- wxPoint(boardX + square_width * 8 - width, boardY - height));
+ wxPoint(boardX + square_width * 8 - width, boardY - height - numbers_size.y*2));
clock = black_side ? black_time : white_time;
time = wxString::Format("%ds", std::get<1>(clock), std::get<2>(clock));
if (std::get<0>(clock) > 0) {
@@ -309,7 +323,7 @@ void BoardCanvas::DrawBoard(wxDC &dc) {
}
dc.GetTextExtent(time, &width, &height);
dc.DrawText(time, wxPoint(boardX + square_width * 8 - width,
- boardY + square_width * 8));
+ boardY + square_width * 8 + numbers_size.y*2));
}
}
diff --git a/src/game_tab/left_panel/board/BoardCanvas.hpp b/src/game_tab/left_panel/board/BoardCanvas.hpp
index 64e99b0..d3ce5c4 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.hpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.hpp
@@ -37,7 +37,7 @@ wxDECLARE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent);
mouseY <= ((y) + (height)))
#define CAPTURE_FACTOR 0.5
-
+#define SQUARE_NUM_PADDING 5
typedef std::tuple<short, short, short> ClockTime;
// Drawing buffer (ANIMATIONS)