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 16 class Card; 17 class Game; 18 class ScoreFile; 19 class PlayerSelectionDialog; 20 21 class FortyCanvas: public wxScrolledWindow 22 { 23 public: 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 GetScoreFile()36 ScoreFile* GetScoreFile() const { return m_scoreFile; } 37 void UpdateScores(); EnableHelpingHand(bool enable)38 void EnableHelpingHand(bool enable) { m_helpingHand = enable; } EnableRightButtonUndo(bool enable)39 void EnableRightButtonUndo(bool enable) { m_rightBtnUndo = enable; } 40 void LayoutGame(); 41 void ShowPlayerDialog(); 42 43 DECLARE_EVENT_TABLE() 44 45 private: 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