diff options
Diffstat (limited to 'src/game_tab/left_panel/board/BoardCanvas.cpp')
| -rw-r--r-- | src/game_tab/left_panel/board/BoardCanvas.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp index 476b3aa..abe77c5 100644 --- a/src/game_tab/left_panel/board/BoardCanvas.cpp +++ b/src/game_tab/left_panel/board/BoardCanvas.cpp @@ -14,7 +14,6 @@ BoardCanvas::BoardCanvas(wxFrame *parent) ApplyPreferences(); // The following should be called when using an EVT_PAINT handler SetBackgroundStyle(wxBG_STYLE_PAINT); - //buffer=new wxBitmap(500,500,32); } BoardCanvas::~BoardCanvas() { @@ -35,6 +34,8 @@ void BoardCanvas::OnPaint(wxPaintEvent &event) { wxBufferedPaintDC dc(this); dc.SetBackground(*wxWHITE_BRUSH); dc.Clear(); + + // Setting up required attributes REFRESH_MOUSE_LOCATION(); square_width = t->GetSquaresSizes(); canvas_size = dc.GetSize(); @@ -44,15 +45,12 @@ void BoardCanvas::OnPaint(wxPaintEvent &event) { boardX = 0; if (boardY > canvas_size.y) boardY = 0; - DrawBoard(dc); - - // TODO: Make DrawBoard() drawing into wxMemoryDC! - /*wxMemoryDC dc2(*buffer); - dc2.SetBackgroundMode(wxTRANSPARENT); - dc2.SetPen(wxPen(*wxBLACK, 3)); - dc2.DrawRectangle(10,10,100,100); - dc.Blit(0, 0, 500,500, (wxDC*)&dc2,0,0);*/ + // Setup buffer (later use for animations) + buffer=new wxBitmap(canvas_size.x,canvas_size.y,32); + wxMemoryDC memDC(*buffer); + DrawBoard(memDC); + dc.Blit(0,0,canvas_size.x,canvas_size.y,(wxDC*)&memDC,0,0); } void BoardCanvas::ApplyPreferences() { @@ -85,7 +83,7 @@ void BoardCanvas::SetupBoard(std::string board, bool is_black_turn, Refresh(); } -void BoardCanvas::DrawBoard(wxBufferedPaintDC &dc) { +void BoardCanvas::DrawBoard(wxDC &dc) { std::uint32_t piece_width = t->GetPiecesSizes(); std::uint32_t centrer_offset = (square_width - piece_width) / 2; |
