aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/GameTabLeftPanel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab/left_panel/GameTabLeftPanel.cpp')
-rw-r--r--src/game_tab/left_panel/GameTabLeftPanel.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp
index 4aaddb4..25ded2c 100644
--- a/src/game_tab/left_panel/GameTabLeftPanel.cpp
+++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp
@@ -99,14 +99,19 @@ void GameTabLeftPanel::Notify(bool skip_animation) {
}
// Update board canvas:
+ GameState gs;
+ gs.board=chessarbiter::FENParser::Parse(fen).board;
+ gs.is_black_turn=game->IsBlackToPlay();
+ gs.captures=captures;
+ gs.white=game->GetTag("White");
+ gs.black=game->GetTag("Black");
+ gs.mat_black=game->IsCheckmate(true);
+ gs.mat_white=game->IsCheckmate(false);
if(skip_animation || !animate){
- board_canvas->SetupBoard(chessarbiter::FENParser::Parse(fen).board,
- game->IsBlackToPlay(), captures,
- game->GetTag("White"),game->GetTag("Black"));
+ board_canvas->SetupBoard(gs);
}
else{
- board_canvas->Animate(chessarbiter::FENParser::Parse(fen).board,
- game->IsBlackToPlay(), captures,src,dst,repeat);
+ board_canvas->Animate(gs, src,dst,repeat);
}
// Update last move
last_move=m;