1///////////////////////////////////////////////////////////////////////////// 2// Name: canvas.h 3// Purpose: Forty Thieves patience game 4// Author: Chris Breeze 5// Modified by: 6// Created: 21/07/97 7// RCS-ID: $Id: canvas.h 27580 2004-06-02 09:14:59Z ABX $ 8// Copyright: (c) 1993-1998 Chris Breeze 9// Licence: wxWindows licence 10//--------------------------------------------------------------------------- 11// Last modified: 22nd July 1998 - ported to wxWidgets 2.0 12///////////////////////////////////////////////////////////////////////////// 13#ifndef _CANVAS_H_ 14#define _CANVAS_H_ 15 16class Card; 17class Game; 18class ScoreFile; 19class PlayerSelectionDialog; 20 21class FortyCanvas: public wxScrolledWindow 22{ 23public: 24 FortyCanvas(wxWindow* parent, const wxPoint& pos, const wxSize& size); 25 virtual ~FortyCanvas(); 26 27 virtual void OnDraw(wxDC& dc); 28 bool OnCloseCanvas(); 29 void OnMouseEvent(wxMouseEvent& event); 30 void SetCursorStyle(int x, int y); 31 32 void NewGame(); 33 void Undo(); 34 void Redo(); 35 36 ScoreFile* GetScoreFile() const { return m_scoreFile; } 37 void UpdateScores(); 38 void EnableHelpingHand(bool enable) { m_helpingHand = enable; } 39 void EnableRightButtonUndo(bool enable) { m_rightBtnUndo = enable; } 40 void LayoutGame(); 41 void ShowPlayerDialog(); 42 43 DECLARE_EVENT_TABLE() 44 45private: 46 wxFont* m_font; 47 Game* m_game; 48 ScoreFile* m_scoreFile; 49 wxCursor* m_arrowCursor; 50 wxCursor* m_handCursor; 51 bool m_helpingHand; 52 bool m_rightBtnUndo; 53 wxString m_player; 54 PlayerSelectionDialog* m_playerDialog; 55 bool m_leftBtnDown; 56}; 57 58#endif 59