]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/forty/card.h
Use placement new when storing value in wxAnyValueBuffer. This should allow using...
[wxWidgets.git] / demos / forty / card.h
index cc525a741bffb18ecf7fac17bd232c84151e6c8d..e410d01c1fdd6cbdb2a0c72bda99fbbd2a348073 100644 (file)
@@ -6,68 +6,69 @@
 // Created:     21/07/97
 // RCS-ID:      $Id$
 // Copyright:   (c) 1993-1998 Chris Breeze
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 //---------------------------------------------------------------------------
-// Last modified: 22nd July 1998 - ported to wxWindows 2.0
+// Last modified: 22nd July 1998 - ported to wxWidgets 2.0
 /////////////////////////////////////////////////////////////////////////////
 //+-------------------------------------------------------------+
-//| Description:                                                                                               |
-//|    A class for drawing playing cards.                                                      |
-//|    InitCards() must be called before using the Card class,         |
-//|    otherwise the card bitmaps will not be loaded.                          |
-//|    CloseCards() must be called before terminating the                      |
-//|    program so that the bitmaps are deleted and the memory          |
-//|    given back to Windows.                                                                          |
+//| Description:                                                |
+//| A class for drawing playing cards.                          |
+//| InitCards() must be called before using the Card class,     |
+//| otherwise the card bitmaps will not be loaded.              |
+//| CloseCards() must be called before terminating the          |
+//| program so that the bitmaps are deleted and the memory      |
+//| given back to Windows.                                      |
 //+-------------------------------------------------------------+
 #ifndef _CARD_H_
 #define _CARD_H_
 
-       // Constants
+// Constants
 const int PackSize = 52;
 
 #define CardHeight Card::GetHeight()
 #define CardWidth  Card::GetWidth()
 
-       // Data types
+// Data types
 enum Suit { clubs = 0, diamonds = 1, hearts = 2, spades = 3 };
 enum SuitColour { red = 0, black = 1 };
 enum WayUp { faceup, facedown };
 
-
 //--------------------------------//
 // A class defining a single card //
 //--------------------------------//
 class Card {
-        static double m_scale;
-        static int m_width,m_height;
+    friend class FortyApp;
+
+    static double m_scale;
+    static int m_width,m_height;
 
 public:
-       Card(int value, WayUp way_up = facedown);
-       virtual ~Card();
+    Card(int value, WayUp way_up = facedown);
+    virtual ~Card(){};
 
-       void            Draw(wxDC& pDC, int x, int y);
-       static void DrawNullCard(wxDC& pDC, int x, int y);      // Draw card place-holder
-       void            Erase(wxDC& pDC, int x, int y);
+    void Draw(wxDC& pDC, int x, int y);
+    static void DrawNullCard(wxDC& pDC, int x, int y); // Draw card place-holder
+    void Erase(wxDC& pDC, int x, int y);
 
-       void            TurnCard(WayUp way_up = faceup) { m_wayUp = way_up; }
-       WayUp           GetWayUp() const { return m_wayUp; }
-       int                     GetPipValue() const { return m_pipValue; }
-       Suit            GetSuit() const { return m_suit; }
-       SuitColour      GetColour() const { return m_colour; }
-        static void     SetScale(double scale);
-        static int      GetHeight() { return m_height; };
-        static int      GetWidth() { return m_width; };
-        static double   GetScale() { return m_scale; };
+    void TurnCard(WayUp way_up = faceup) { m_wayUp = way_up; }
+    WayUp GetWayUp() const { return m_wayUp; }
+    int GetPipValue() const { return m_pipValue; }
+    Suit GetSuit() const { return m_suit; }
+    SuitColour GetColour() const { return m_colour; }
+    static void SetScale(double scale);
+    static int GetHeight() { return m_height; };
+    static int GetWidth() { return m_width; };
+    static double GetScale() { return m_scale; };
 
 private:
-       Suit            m_suit;
-       int                     m_pipValue;     // in the range 1 (Ace) to 13 (King)
-       SuitColour      m_colour;       // red or black
-       bool            m_status;
-       WayUp           m_wayUp;
+    Suit m_suit;
+    int m_pipValue; // in the range 1 (Ace) to 13 (King)
+    SuitColour m_colour; // red or black
+    bool m_status;
+    WayUp m_wayUp;
 
-       static wxBitmap*        m_symbolBmap;
-       static wxBitmap*        m_pictureBmap;
+    static wxBitmap* m_symbolBmap;
+    static wxBitmap* m_pictureBmap;
 };
 
 #endif // _CARD_H_