]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/bombs/game.h
Use wxFindWindowAtPoint() for hit testing in wxPopupTransientWindow.
[wxWidgets.git] / demos / bombs / game.h
index d32f597855561bb81d050b8420b4928b51cc5a73..0f062c6027479e258c309470ac137585fcaf9e3a 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      P. Foggia 1996
 // Modified by: Wlodzimierz Skiba (ABX) since 2003
 // Created:     1996
 // Author:      P. Foggia 1996
 // Modified by: Wlodzimierz Skiba (ABX) since 2003
 // Created:     1996
-// RCS-ID:      $Id$
 // Copyright:   (c) 1996 P. Foggia
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) 1996 P. Foggia
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -16,7 +15,8 @@
 #define BG_BOMB     0x200
 #define BG_MARKED   0x400
 #define BG_EXPLODED 0x800
 #define BG_BOMB     0x200
 #define BG_MARKED   0x400
 #define BG_EXPLODED 0x800
-#define BG_MASK     0x0FF
+#define BG_SELECTED 0x080
+#define BG_MASK     0x03F
 
 #include <stddef.h>
 
 
 #include <stddef.h>
 
@@ -64,6 +64,11 @@ public:
         return Get(x,y) & BG_EXPLODED;
     };
 
         return Get(x,y) & BG_EXPLODED;
     };
 
+    int IsSelected(int x, int y) const
+    {
+        return Get(x,y) & BG_SELECTED;
+    };
+
     int GetNumBombs() const
     {
         return m_numBombCells;
     int GetNumBombs() const
     {
         return m_numBombCells;
@@ -74,6 +79,10 @@ public:
         return m_numRemainingCells;
     };
 
         return m_numRemainingCells;
     };
 
+    int GetNumMarkedCells() const
+    {
+        return m_numMarkedCells;
+    };
 
 
     bool Init(int width, int height, bool easyCorner = false);
 
 
     bool Init(int width, int height, bool easyCorner = false);
@@ -83,7 +92,7 @@ public:
     void Mark(int x, int y);
 
     // Unhides a cell
     void Mark(int x, int y);
 
     // Unhides a cell
-    void Unhide(int x, int y);
+    void Unhide(int x, int y, bool b_selected);
 
     // Makes a cell exploded
     void Explode(int x, int y);
 
     // Makes a cell exploded
     void Explode(int x, int y);
@@ -98,7 +107,7 @@ private:
 
     int m_width, m_height;
     short *m_field;
 
     int m_width, m_height;
     short *m_field;
-    int m_numBombCells, m_numRemainingCells;
+    int m_numBombCells, m_numRemainingCells, m_numMarkedCells;
 
 };
 
 
 };