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.