aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-01-10 14:06:57 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-01-10 14:06:57 +0100
commit840e68807cfbb23fcc2718496d07a6d3ec5fc8ed (patch)
treee81efa1c5d54ec588726cd4546460af08f7adc82
parente069a29f99dfb6e1139f47f3bb291902752d1283 (diff)
Pawn add promotion menu to BoardCanvas (still ongoing)
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index 9294006..8a017c8 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -420,6 +420,38 @@ void BoardCanvas::DrawBoard(wxDC &dc) {
DrawArrow(dc,sx,sy,dx,dy,arrow_thickness*arrow.scale);
}
}
+ // Ask for promotion
+ /*std::string s="f8";
+ {
+ std::uint8_t sfile = s[0]-'a';
+ std::uint8_t srank = s[1]-'1';
+ bool is_black_promotion=s[1]=='1';
+ if (!black_side) {
+ srank = 7 - srank;
+ sfile = 7 - sfile;
+ }
+ std::uint32_t PX = boardX + (7 - sfile) * square_width;
+ 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);
+ // Background
+ dc.SetPen(wxNullPen);
+ dc.SetBrush(*wxLIGHT_GREY);
+ dc.DrawCircle(PX+square_width/2,PY + offset*square_width+square_width/2,square_width/2);
+ dc.SetBrush(wxColour(219, 161, 0));
+ dc.DrawCircle(PX+square_width/2,PY + offset*square_width+square_width/2,square_width/2-border);
+ // Piece
+ dc.DrawBitmap(*t->Get(p), PX + centrer_offset, PY + centrer_offset + offset*square_width);
+ if((is_black_promotion && !black_side) || (!is_black_promotion && black_side))
+ offset--;
+ else
+ offset++;
+ }
+ }*/
}
void BoardCanvas::MouseEvent(wxMouseEvent &event) {