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) {