aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/board/BoardCanvas.hpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-12-29 13:00:23 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-12-29 13:00:23 +0100
commitfdab451352d7de558132848807f4dac6fb22e60d (patch)
tree6b30e893c109f44d01511dfd5f80e40674a93cce /src/game_tab/left_panel/board/BoardCanvas.hpp
parentaa94a41353e5df639548ce2ca21a0db83f7c3027 (diff)
Improve piece animation code
Diffstat (limited to 'src/game_tab/left_panel/board/BoardCanvas.hpp')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.hpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.hpp b/src/game_tab/left_panel/board/BoardCanvas.hpp
index eeff44d..36e1cf2 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.hpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.hpp
@@ -40,6 +40,19 @@ wxDECLARE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent);
typedef std::tuple<short, short, short> ClockTime;
+// Drawing buffer (ANIMATIONS)
+typedef struct AnimState {
+ wxBitmap *buffer;
+ bool reuseBuffer;
+ int frame,duration,fps,duration_fast;
+ std::string final_board;
+ bool final_is_black_turn;
+ std::map<char, std::uint8_t> final_captures;
+ char piece_moved;
+ wxPoint src;
+ wxPoint transVect;
+} AnimState;
+
class BoardCanvas : public wxPanel {
// *t is theme for board+pieces and
// *t_captures is theme for captured pieces (scale down version of t)
@@ -57,16 +70,7 @@ class BoardCanvas : public wxPanel {
ClockTime black_time, white_time;
bool frozen,lock_square_size;
- // Drawing buffer (ANIMATIONS)
- wxBitmap *buffer;
- bool reuseBuffer;
- int frame,duration,fps,duration_fast;
- std::string final_board;
- bool final_is_black_turn;
- std::map<char, std::uint8_t> final_captures;
- char piece_moved;
- wxPoint src;
- wxPoint transVect;
+ AnimState adata;
public:
BoardCanvas(wxFrame *parent);