Responsible for drawing the board and painting the UI overlays.
 
wxRect get_tile_rect(Coords coords) const
 
void paint_selected_tile_outline(wxDC &dc, Coords coords, bool blocked=false)
 
void on_paint(wxPaintEvent &event)
 
void paint_tiles(wxDC &dc, const wxRect &update_region)
 
virtual bool AcceptsFocus() const override
 
void paint_arrow_head(wxDC &dc, wxPoint start, wxPoint end, wxSize head_size, ArrowHeadType head_type=ARROW_HEAD_NORMAL)
 
void paint_move_arrow(wxDC &dc, Coords start, Coords end)
 
void on_any_mouse_event(wxMouseEvent &event)
 
static const wxCoord TILE_SIZE
 
Coords tile_coords_at_point(wxPoint point) const
 
CanvasPanel(wxWindow *parent, wxWindowID id, GamePanel *panel)
 
wxPoint get_tile_centre(Coords coords) const
 
Coords get_selected_penguin_coords() const
 
void draw_bitmap(wxDC &dc, const wxBitmap &bitmap, const wxPoint &pos)
 
void paint_board(wxDC &dc, const wxRect &update_region, wxDC &tiles_dc)
 
wxSize get_canvas_size() const
 
The core of the unified game logic library, contains the Game struct.
 
const wxPoint wxDefaultPosition
 
A pair of 2D coordinates, used for addressing the Game::board_grid.
 
The central struct of the application, holds the game data and settings.