aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/board
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab/left_panel/board')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp16
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.hpp4
2 files changed, 9 insertions, 11 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;
diff --git a/src/game_tab/left_panel/board/BoardCanvas.hpp b/src/game_tab/left_panel/board/BoardCanvas.hpp
index e7f28dd..cd8ace9 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.hpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.hpp
@@ -27,7 +27,7 @@ wxDECLARE_EVENT(PLAY_MOVE_EVENT, wxCommandEvent);
file = 7 - file; \
rank = 7 - rank; \
} \
- bool IsCurrentSquareValid = file >= 0 && file <= 7 && rank >= 0 && rank <= 7;
+ bool IsCurrentSquareValid = file <= 7 && rank <= 7; // Do not need to check rank>=0 and file>=0 since unsigned int
#define MOUSE_ON(x, y, width, height) \
(mouseX >= (x) && mouseX <= ((x) + (width)) && mouseY >= (y) && \
@@ -100,7 +100,7 @@ class BoardCanvas : public wxPanel {
// Various canvas state variables
bool black_side, is_dragging, valid_drag, arrow_drag, is_black_turn;
- std::uint32_t boardX, boardY, square_width, piece_width, mouseX, mouseY, lastClickX,
+ std::int32_t boardX, boardY, square_width, piece_width, mouseX, mouseY, lastClickX,
lastClickY;
wxSize canvas_size;
wxPoint active_square;