aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/GameTabLeftPanel.cpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-12-28 12:40:16 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-12-28 12:40:16 +0100
commit7187e6d6ee8d2cec38cd9580e315a00d0c763e99 (patch)
tree87b1931a0568c267931157cc02c55b11cd93a7e1 /src/game_tab/left_panel/GameTabLeftPanel.cpp
parentc451c63aaa6c898081fc658180e175e23b6f1bbb (diff)
Prepare for pieces animation step2
Diffstat (limited to 'src/game_tab/left_panel/GameTabLeftPanel.cpp')
-rw-r--r--src/game_tab/left_panel/GameTabLeftPanel.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp
index b3b5a95..5a0c430 100644
--- a/src/game_tab/left_panel/GameTabLeftPanel.cpp
+++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp
@@ -26,7 +26,7 @@ GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game)
void GameTabLeftPanel::OnPreviousMove(wxCommandEvent &event) {
game->Previous();
- Notify();
+ Notify(true);
NotifyEditor();
}
@@ -48,7 +48,7 @@ void GameTabLeftPanel::OnSwap(wxCommandEvent &event) {
void GameTabLeftPanel::OnNextMove(wxCommandEvent &event) {
wxLogDebug("Game tab received NEXT_MOVE_EVENT");
game->Next();
- Notify();
+ Notify(true);
NotifyEditor();
}
@@ -59,26 +59,30 @@ void GameTabLeftPanel::OnPlay(wxCommandEvent &event) {
}
Notify();
-
std::string fen = game->GetFen();
std::map<char, std::uint8_t> captures;
HalfMove *m = game->GetCurrentMove();
if (m != NULL) {
captures = m->GetLineCaptures();
- }
- /*board_canvas->Animate(chessarbiter::FENParser::Parse(fen).board,
- game->IsBlackToPlay(), captures,"a1","a2"); */
+ }
}
-void GameTabLeftPanel::Notify() {
+void GameTabLeftPanel::Notify(bool animate) {
std::string fen = game->GetFen();
std::map<char, std::uint8_t> captures;
HalfMove *m = game->GetCurrentMove();
if (m != NULL) {
captures = m->GetLineCaptures();
- }
- board_canvas->SetupBoard(chessarbiter::FENParser::Parse(fen).board,
- game->IsBlackToPlay(), captures);
+ }
+
+ if(!animate){
+ board_canvas->SetupBoard(chessarbiter::FENParser::Parse(fen).board,
+ game->IsBlackToPlay(), captures);
+ }
+ else{
+ board_canvas->Animate(chessarbiter::FENParser::Parse(fen).board,
+ game->IsBlackToPlay(), captures,"a1","a2");
+ }
fen_text_field->SetValue(game->GetFen());
}