aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/board/BoardCanvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab/left_panel/board/BoardCanvas.cpp')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index 4b5f3fb..fec281e 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -12,6 +12,8 @@ BoardCanvas::BoardCanvas(wxFrame *parent)
SetClockTime(-1, -1, -1, false);
SetClockTime(-1, -1, -1, true);
ApplyPreferences();
+ // The following should be called when using an EVT_PAINT handler
+ SetBackgroundStyle(wxBG_STYLE_PAINT);
}
BoardCanvas::~BoardCanvas() {
@@ -29,7 +31,9 @@ BoardCanvas::BoardCanvas(wxFrame *parent, std::uint32_t square_width,
}
void BoardCanvas::OnPaint(wxPaintEvent &event) {
- wxPaintDC dc(this);
+ wxBufferedPaintDC dc(this);
+ dc.SetBackground(*wxWHITE_BRUSH);
+ dc.Clear();
REFRESH_MOUSE_LOCATION();
square_width = t->GetSquaresSizes();
canvas_size = dc.GetSize();
@@ -72,7 +76,7 @@ void BoardCanvas::SetupBoard(std::string board, bool is_black_turn,
Refresh();
}
-void BoardCanvas::DrawBoard(wxPaintDC &dc) {
+void BoardCanvas::DrawBoard(wxBufferedPaintDC &dc) {
std::uint32_t piece_width = t->GetPiecesSizes();
std::uint32_t centrer_offset = (square_width - piece_width) / 2;