]>
git.saurik.com Git - wxWidgets.git/blob - demos/forty/card.h
aab8df9d7175fe4e745f3c23d489817b5f314603
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Forty Thieves patience game
4 // Author: Chris Breeze
8 // Copyright: (c) 1993-1998 Chris Breeze
9 // Licence: wxWindows licence
10 //---------------------------------------------------------------------------
11 // Last modified: 22nd July 1998 - ported to wxWindows 2.0
12 /////////////////////////////////////////////////////////////////////////////
13 //+-------------------------------------------------------------+
15 //| A class for drawing playing cards. |
16 //| InitCards() must be called before using the Card class, |
17 //| otherwise the card bitmaps will not be loaded. |
18 //| CloseCards() must be called before terminating the |
19 //| program so that the bitmaps are deleted and the memory |
20 //| given back to Windows. |
21 //+-------------------------------------------------------------+
26 const int PackSize
= 52;
28 #define CardHeight Card::GetHeight()
29 #define CardWidth Card::GetWidth()
32 enum Suit
{ clubs
= 0, diamonds
= 1, hearts
= 2, spades
= 3 };
33 enum SuitColour
{ red
= 0, black
= 1 };
34 enum WayUp
{ faceup
, facedown
};
36 //--------------------------------//
37 // A class defining a single card //
38 //--------------------------------//
40 friend class FortyApp
;
42 static double m_scale
;
43 static int m_width
,m_height
;
46 Card(int value
, WayUp way_up
= facedown
);
49 void Draw(wxDC
& pDC
, int x
, int y
);
50 static void DrawNullCard(wxDC
& pDC
, int x
, int y
); // Draw card place-holder
51 void Erase(wxDC
& pDC
, int x
, int y
);
53 void TurnCard(WayUp way_up
= faceup
) { m_wayUp
= way_up
; }
54 WayUp
GetWayUp() const { return m_wayUp
; }
55 int GetPipValue() const { return m_pipValue
; }
56 Suit
GetSuit() const { return m_suit
; }
57 SuitColour
GetColour() const { return m_colour
; }
58 static void SetScale(double scale
);
59 static int GetHeight() { return m_height
; };
60 static int GetWidth() { return m_width
; };
61 static double GetScale() { return m_scale
; };
65 int m_pipValue
; // in the range 1 (Ace) to 13 (King)
66 SuitColour m_colour
; // red or black
70 static wxBitmap
* m_symbolBmap
;
71 static wxBitmap
* m_pictureBmap
;