diff options
Diffstat (limited to 'src/game_tab/left_panel/board/BoardCanvas.cpp')
| -rw-r--r-- | src/game_tab/left_panel/board/BoardCanvas.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp index 027015b..f4bda90 100644 --- a/src/game_tab/left_panel/board/BoardCanvas.cpp +++ b/src/game_tab/left_panel/board/BoardCanvas.cpp @@ -11,8 +11,8 @@ tmp=rot_m.TransformPoint(tmp); \ wxDEFINE_EVENT(PLAY_MOVE_EVENT, wxCommandEvent); BoardCanvas::BoardCanvas(wxFrame *parent) - : wxPanel(parent), black_side(false), frozen(false), - lock_square_size(false), t(new Theme()), t_captures(new Theme()) { + : wxPanel(parent), t(new Theme()), t_captures(new Theme()), black_side(false), frozen(false), + lock_square_size(false) { color_arrows=wxColour(145, 233, 255); is_dragging = false; valid_drag = false; @@ -64,11 +64,12 @@ BoardCanvas::BoardCanvas(wxFrame *parent, std::uint32_t square_width, : BoardCanvas(parent) { t->ResizeSquaresAndPieces(square_width); t_captures->ResizePieces(t->GetPiecesSizes() * CAPTURE_FACTOR); - this->frozen = true; + this->frozen = frozen; lock_square_size = true; } void BoardCanvas::OnPaint(wxPaintEvent &event) { + UNUSED(event); wxBufferedPaintDC dc(this); dc.SetBackground(*wxWHITE_BRUSH); dc.Clear(); @@ -90,7 +91,6 @@ void BoardCanvas::OnPaint(wxPaintEvent &event) { else { // Reuse buffer and animate dc.DrawBitmap(*adata.buffer, 0, 0, true); - double percent=adata.frame/adata.frames; // Draw moving piece dc.DrawBitmap(*t->Get(adata.piece_moved), adata.src.x + adata.frame*(adata.transVect.x/adata.frames), @@ -174,7 +174,6 @@ void BoardCanvas::Animate(const GameState &new_gs, const std::string &src, const int frame_duration=(1000/adata.fps); adata.frame=0; adata.frames=adata.duration/frame_duration; // total number of frames - int time_per_frame=adata.duration/adata.frames; wxStopWatch sw; for(int i=adata.frames;i>0;i--){ Refresh(); @@ -220,7 +219,7 @@ void BoardCanvas::DrawBoard(wxDC &dc) { } // Draw highlighted squares - for(int i=0;i<(gs.squares_hl.size()+squares_hl.size());i++){ + for(std::size_t i=0;i<(gs.squares_hl.size()+squares_hl.size());i++){ const GameState::Square &s=i<gs.squares_hl.size() ? gs.squares_hl[i] : squares_hl[i-gs.squares_hl.size()]; std::uint8_t sfile = s.square[0]-'a'; std::uint8_t srank = s.square[1]-'1'; @@ -357,7 +356,7 @@ void BoardCanvas::DrawBoard(wxDC &dc) { boardY + square_width * 8 + numbers_size.y*2)); } // Draw arrows - for(int i=0;i<(gs.arrows.size()+arrows.size());i++){ + for(std::size_t i=0;i<(gs.arrows.size()+arrows.size());i++){ const GameState::Arrow &arrow= i<gs.arrows.size() ? gs.arrows[i] : arrows[i-gs.arrows.size()]; std::uint8_t sfile = arrow.src[0]-'a'; std::uint8_t srank = arrow.src[1]-'1'; @@ -404,7 +403,6 @@ void BoardCanvas::DrawBoard(wxDC &dc) { std::uint32_t PY = boardY + srank * square_width; short offset=0,border=5; - char s=is_black_promotion ? 's' : 'S'; for (char p : {'q', 'r', 'b', 'n'}) { p=is_black_promotion ? p : std::toupper(p); @@ -612,7 +610,7 @@ void BoardCanvas::DrawArrow(wxDC &dc, int xsrc, int ysrc, int xdst, int ydst, st wxPoint vect(xdst-xsrc,ydst-ysrc); double length=ceil(sqrt(pow(vect.x,2)+pow(vect.y,2))); double angle=acos(vect.x/length); - angle= (vect.y>0) ? angle=angle : -angle; + angle= (vect.y>0) ? angle : -angle; // Translate starting point (xsrc,ysrc) about arrows_offset px to not start on the center of the square (less confusing visually) double k=arrows_offset/length; |
