summaryrefslogtreecommitdiff
path: root/noncore/games/fifteen/fifteen.h
authorzecke <zecke>2004-07-24 15:02:13 (UTC)
committer zecke <zecke>2004-07-24 15:02:13 (UTC)
commitc94b8aee4873dc382d3fe2673c7ac1db7080fe0e (patch) (side-by-side diff)
treeda5d98b9e429ad845651e731e93a978cea54a65b /noncore/games/fifteen/fifteen.h
parent2da1cf47a5c1429d8ad010880ff1da3e97b437ad (diff)
downloadopie-c94b8aee4873dc382d3fe2673c7ac1db7080fe0e.zip
opie-c94b8aee4873dc382d3fe2673c7ac1db7080fe0e.tar.gz
opie-c94b8aee4873dc382d3fe2673c7ac1db7080fe0e.tar.bz2
Custom Image as the background for the board tiles.
This is later needed for the puzzle game mode
Diffstat (limited to 'noncore/games/fifteen/fifteen.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/fifteen/fifteen.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/noncore/games/fifteen/fifteen.h b/noncore/games/fifteen/fifteen.h
index 58eb756..4b8702d 100644
--- a/noncore/games/fifteen/fifteen.h
+++ b/noncore/games/fifteen/fifteen.h
@@ -22,47 +22,59 @@
#define __fifteenapplet_h__
#include <qmainwindow.h>
#include <qtableview.h>
#include <qarray.h>
#include <qpointarray.h>
+#include <qpixmap.h>
+#include <qvector.h>
class QPopupMenu;
+class FifteenConfigDialog;
class PiecesTable : public QTableView
{
Q_OBJECT
public:
PiecesTable(QWidget* parent = 0, const char* name = 0);
~PiecesTable();
protected slots:
+ void slotConfigure();
+ void slotCustomImage(const QString &str, bool upd = false);
void slotRandomize();
void slotReset();
protected:
void resizeEvent(QResizeEvent*);
void mousePressEvent(QMouseEvent*);
void paintCell(QPainter *, int row, int col);
+ void initImage();
void initMap();
void initColors();
void randomizeMap();
void checkwin();
void readConfig();
void writeConfig();
+ void initPolygon(int w, int h, int x_of, int y_of );
private:
+ void clear();
+ QString _image;
QArray<int> _map;
QArray<QColor> _colors;
+ QArray<QPixmap*> _pixmap;
+
QPopupMenu *_menu;
- bool _randomized;
+ bool _randomized;
QPointArray light_border;
QPointArray dark_border;
+ FifteenConfigDialog *_dialog;
enum MenuOp { mRandomize = 1, mReset = 2 };
};
class FifteenWidget : public QWidget
{
@@ -72,12 +84,13 @@ public:
FifteenWidget(QWidget *parent = 0, const char *name = 0);
private:
PiecesTable *_table;
};
+
class FifteenMainWindow : public QMainWindow
{
Q_OBJECT
public:
static QString appName() {