summaryrefslogtreecommitdiff
path: root/noncore/games/minesweep/minefield.h
Unidiff
Diffstat (limited to 'noncore/games/minesweep/minefield.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/minesweep/minefield.h30
1 files changed, 22 insertions, 8 deletions
diff --git a/noncore/games/minesweep/minefield.h b/noncore/games/minesweep/minefield.h
index 4ede435..1349c35 100644
--- a/noncore/games/minesweep/minefield.h
+++ b/noncore/games/minesweep/minefield.h
@@ -21,10 +21,10 @@
21#define MINEFIELD_H 21#define MINEFIELD_H
22 22
23#include <qtable.h> 23#include <qscrollview.h>
24 24
25class Mine; 25class Mine;
26class Config; 26class Config;
27 27
28class MineField : public QTable 28class MineField : public QScrollView
29{ 29{
30 Q_OBJECT 30 Q_OBJECT
@@ -42,4 +42,5 @@ public:
42 int level() const { return lev; } 42 int level() const { return lev; }
43 43
44 void setAvailableRect( const QRect & );
44public slots: 45public slots:
45 void setup( int level ); 46 void setup( int level );
@@ -53,15 +54,20 @@ signals:
53 54
54protected: 55protected:
55 void paintFocus( QPainter*, const QRect& ); 56
56 void viewportMousePressEvent( QMouseEvent* ); 57 void contentsMousePressEvent( QMouseEvent* );
57 void viewportMouseReleaseEvent( QMouseEvent* ); 58 void contentsMouseReleaseEvent( QMouseEvent* );
58 void keyPressEvent( QKeyEvent* ); 59 void keyPressEvent( QKeyEvent* );
59 void keyReleaseEvent( QKeyEvent* ); 60 void keyReleaseEvent( QKeyEvent* );
60 61 void drawContents( QPainter * p, int clipx, int clipy, int clipw, int cliph );
62
61 int getHint( int row, int col ); 63 int getHint( int row, int col );
62 void setHint( Mine* ); 64 void setHint( int r, int c );
63 void updateMine( int row, int col ); 65 void updateMine( int row, int col );
64 void paletteChange( const QPalette & ); 66 void paletteChange( const QPalette & );
65 67 void updateCell( int r, int c );
68 bool onBoard( int r, int c ) const { return r >= 0 && r < numRows && c >= 0 && c < numCols; }
69 Mine *mine( int row, int col ) { return onBoard(row, col ) ? mines[row+numCols*col] : 0; }
70 const Mine *mine( int row, int col ) const { return onBoard(row, col ) ? mines[row+numCols*col] : 0; }
71
66protected slots: 72protected slots:
67 void cellPressed( int row, int col ); 73 void cellPressed( int row, int col );
@@ -70,4 +76,7 @@ protected slots:
70 76
71private: 77private:
78 int findCellSize();
79 void setCellSize( int );
80
72 State stat; 81 State stat;
73 void MineField::setState( State st ); 82 void MineField::setState( State st );
@@ -78,9 +87,14 @@ private:
78 int currRow; 87 int currRow;
79 int currCol; 88 int currCol;
89 int numRows, numCols;
90
80 int minecount; 91 int minecount;
81 int mineguess; 92 int mineguess;
82 int nonminecount; 93 int nonminecount;
83 int lev; 94 int lev;
95 QRect availableRect;
96 int cellSize;
84 QTimer *holdTimer; 97 QTimer *holdTimer;
98 Mine **mines;
85}; 99};
86 100