Diffstat (limited to 'noncore/games/kpacman/painter.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/games/kpacman/painter.h | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/noncore/games/kpacman/painter.h b/noncore/games/kpacman/painter.h new file mode 100644 index 0000000..3a4eae2 --- a/dev/null +++ b/noncore/games/kpacman/painter.h | |||
@@ -0,0 +1,148 @@ | |||
1 | #ifndef PAINTER_H | ||
2 | #define PAINTER_H | ||
3 | |||
4 | #include "portable.h" | ||
5 | |||
6 | #if defined( KDE2_PORT ) | ||
7 | #include <kapp.h> | ||
8 | #include <klocale.h> | ||
9 | #endif | ||
10 | |||
11 | #include <qpixmap.h> | ||
12 | #include <qbitmap.h> | ||
13 | #include <qlabel.h> | ||
14 | #include <qcolor.h> | ||
15 | #include <qlist.h> | ||
16 | #include <qstrlist.h> | ||
17 | #include <qregexp.h> | ||
18 | |||
19 | #include "board.h" | ||
20 | #include "bitfont.h" | ||
21 | #include "colors.h" | ||
22 | |||
23 | enum PixMap { PacmanPix, DyingPix, MonsterPix, EyesPix, FruitPix, | ||
24 | PointPix, EnergizerPix, WallPix, PrisonPix, | ||
25 | FruitScorePix, MonsterScorePix }; | ||
26 | enum DrawWidget { Widget, RoomPix, BackPix }; | ||
27 | |||
28 | class Painter | ||
29 | { | ||
30 | public: | ||
31 | Painter (Board *, QWidget *parent=0, int scheme=-1, int mode=-1,Bitfont *font=0); | ||
32 | QPixmap levelPix() { return roomPix; } | ||
33 | |||
34 | void setScheme(int scheme=-1, int mode=-1, Bitfont *font=0); | ||
35 | void setLevel(int level=0); | ||
36 | |||
37 | QRect rect(int pos, PixMap pix, uint i = 0); | ||
38 | QRect rect(int pos, QString str, int align = QLabel::AlignCenter ); | ||
39 | QRect rect(QRect r1, QRect r2); | ||
40 | |||
41 | void draw(QPoint point, DrawWidget where, QPixmap pix); | ||
42 | void draw(QRect rect, DrawWidget where, QPixmap pix); | ||
43 | void draw(int pos, DrawWidget where, PixMap pix, uint i = 0); | ||
44 | QPixmap draw(int pos, DrawWidget where, QString str, | ||
45 | QColor fg, QColor bg = QColor(), int align = QLabel::AlignCenter); | ||
46 | QRect draw(int col, int row, DrawWidget where, QString str, | ||
47 | QColor fg, QColor bg = QColor(), int align = QLabel::AlignCenter); | ||
48 | |||
49 | void drawBrick(int pos); | ||
50 | void drawPrison(int pos); | ||
51 | void drawPoint(int pos); | ||
52 | |||
53 | void erase(int pos, PixMap pix, uint i = 0); | ||
54 | |||
55 | int maxPixmaps(PixMap pix); | ||
56 | |||
57 | protected: | ||
58 | QString decodeHexOctString(QString str); | ||
59 | |||
60 | void fillScoreString(QStrList &, QArray<int> &); | ||
61 | void fillArray(QArray<int> &, QString, int); | ||
62 | void fillStrList(QStrList &, QString, int); | ||
63 | void fillPixmapName(QStrList &); | ||
64 | |||
65 | void confScheme(); | ||
66 | void confLevels(bool defGroup=TRUE); | ||
67 | void confMisc(bool defGroup=TRUE); | ||
68 | void confScoring(bool defGroup=TRUE); | ||
69 | |||
70 | void initPixmaps(); | ||
71 | void initRoomPixmap(); | ||
72 | void initbackPixmaps(); | ||
73 | |||
74 | private: | ||
75 | QWidget *w; | ||
76 | Board *board; | ||
77 | Bitfont *bitfont; | ||
78 | |||
79 | int BlockWidth; | ||
80 | int BlockHeight; | ||
81 | |||
82 | QArray<int> fruitScore; | ||
83 | QStrList fruitScoreString; | ||
84 | QArray<int> monsterScore; | ||
85 | QStrList monsterScoreString; | ||
86 | |||
87 | QString pixmapDirectory; | ||
88 | |||
89 | QStrList pointPixmapName; | ||
90 | QStrList wallPixmapName; | ||
91 | QStrList prisonPixmapName; | ||
92 | QStrList energizerPixmapName; | ||
93 | QStrList fruitPixmapName; | ||
94 | QStrList pacmanPixmapName; | ||
95 | QStrList dyingPixmapName; | ||
96 | QStrList eyesPixmapName; | ||
97 | QStrList monsterPixmapName; | ||
98 | QStrList fruitScorePixmapName; | ||
99 | QStrList monsterScorePixmapName; | ||
100 | |||
101 | QString lastPointPixmapName; | ||
102 | QString lastWallPixmapName; | ||
103 | QString lastPrisonPixmapName; | ||
104 | QString lastEnergizerPixmapName; | ||
105 | QString lastFruitPixmapName; | ||
106 | QString lastPacmanPixmapName; | ||
107 | QString lastDyingPixmapName; | ||
108 | QString lastEyesPixmapName; | ||
109 | QString lastMonsterPixmapName; | ||
110 | QString lastFruitScorePixmapName; | ||
111 | QString lastMonsterScorePixmapName; | ||
112 | |||
113 | QList<QPixmap> *loadPixmap(QWidget *parent, QString pixmapName, | ||
114 | QList<QPixmap> *pixmaps=0); | ||
115 | QList<QPixmap> *textPixmap(QStrList &, QList<QPixmap> *pixmaps=0, | ||
116 | QColor fg = BLACK, QColor bg = QColor()); | ||
117 | QList<QPixmap> *textPixmap(QString str, QList<QPixmap> *pixmaps=0, | ||
118 | QColor fg = BLACK, QColor bg = QColor()); | ||
119 | |||
120 | QPoint point(int pos); | ||
121 | int checkRange(int value, int max, int min=0); | ||
122 | |||
123 | QList<QPixmap> *wallPix; | ||
124 | QList<QPixmap> *prisonPix; | ||
125 | QList<QPixmap> *pointPix; | ||
126 | QList<QPixmap> *energizerPix; | ||
127 | QList<QPixmap> *fruitPix; | ||
128 | QList<QPixmap> *pacmanPix; | ||
129 | QList<QPixmap> *dyingPix; | ||
130 | QList<QPixmap> *eyesPix; | ||
131 | QList<QPixmap> *monsterPix; | ||
132 | QList<QPixmap> *fruitScorePix; | ||
133 | QList<QPixmap> *monsterScorePix; | ||
134 | |||
135 | QPixmap roomPix; | ||
136 | QPixmap backPix; | ||
137 | |||
138 | bool plainColor; | ||
139 | QColor backgroundColor; | ||
140 | |||
141 | int maxLevel; | ||
142 | int level; | ||
143 | |||
144 | int scheme; | ||
145 | int mode; | ||
146 | }; | ||
147 | |||
148 | #endif // PAINTER_H | ||