aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/board/BoardCanvas.cpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-01-02 08:28:59 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-01-02 08:28:59 +0100
commit98edb4253c0d131b855bee882530fa2b28906fc2 (patch)
tree2cdc9646812c040edcb37b1cae02d3fb07da8ab9 /src/game_tab/left_panel/board/BoardCanvas.cpp
parent4f2c68de6013bab307b299cfd6158225475a3fc6 (diff)
Debug BoardCanvas
Diffstat (limited to 'src/game_tab/left_panel/board/BoardCanvas.cpp')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index 0e44979..6581934 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -25,6 +25,11 @@ BoardCanvas::BoardCanvas(wxFrame *parent)
Bind(wxEVT_KEY_UP, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();});
Bind(wxEVT_PAINT, &BoardCanvas::OnPaint, this);
Bind(wxEVT_SIZE, &BoardCanvas::OnResize, this);
+
+ // Mouse events:
+ Bind(wxEVT_MOTION, &BoardCanvas::MouseEvent, this);
+ Bind(wxEVT_LEFT_DOWN, &BoardCanvas::MouseEvent, this);
+ Bind(wxEVT_LEFT_UP, &BoardCanvas::MouseEvent, this);
}
void BoardCanvas::OnResize(wxSizeEvent &e){
@@ -367,6 +372,9 @@ void BoardCanvas::MouseEvent(wxMouseEvent &event) {
((char)('a' + file)) + std::to_string(rank + 1);
event.SetString(move);
ProcessEvent(event);
+ } else {
+ // If square not valid just redraw (place piece back to its square)
+ Refresh();
}
}
if (event.LeftDown()) {
@@ -412,7 +420,3 @@ void BoardCanvas::SetClockTime(short hours, short min, short sec,
white_time = std::make_tuple(hours, min, sec);
}
}
-
-wxBEGIN_EVENT_TABLE(BoardCanvas, wxPanel)
- EVT_MOUSE_EVENTS(BoardCanvas::MouseEvent)
- wxEND_EVENT_TABLE()