summaryrefslogtreecommitdiff
path: root/noncore/games/solitaire/canvascard.h
authorkergoth <kergoth>2002-01-25 22:14:26 (UTC)
committer kergoth <kergoth>2002-01-25 22:14:26 (UTC)
commit15318cad33835e4e2dc620d033e43cd930676cdd (patch) (unidiff)
treec2fa0399a2c47fda8e2cd0092c73a809d17f68eb /noncore/games/solitaire/canvascard.h
downloadopie-15318cad33835e4e2dc620d033e43cd930676cdd.zip
opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz
opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2
Initial revision
Diffstat (limited to 'noncore/games/solitaire/canvascard.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/solitaire/canvascard.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/noncore/games/solitaire/canvascard.h b/noncore/games/solitaire/canvascard.h
new file mode 100644
index 0000000..cd9691f
--- a/dev/null
+++ b/noncore/games/solitaire/canvascard.h
@@ -0,0 +1,82 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20#ifndef CANVAS_CARD_H
21#define CANVAS_CARD_H
22
23
24#include <qpainter.h>
25#include <qbitmap.h>
26#include <qpixmap.h>
27#include <qpoint.h>
28#include <qcanvas.h>
29#include "cardgame.h"
30
31
32// ### Just made the number up, is that what you do???
33static const int canvasCardId = 2434321;
34
35
36class CanvasCard : public Card, public QCanvasRectangle
37{
38public:
39 CanvasCard( eValue v, eSuit s, bool f, QCanvas *canvas );
40 virtual ~CanvasCard() { canvas()->removeItem(this); }
41
42 int rtti () const { return canvasCardId; }
43 void move(QPoint p) { QCanvasItem::move( p.x(), p.y() ); }
44 void move(int x, int y) { QCanvasItem::move( x, y ); }
45 void animatedMove(int x, int y, int steps = 10);
46 void animatedMove() { animatedMove(savedX, savedY); }
47 void savePos(void) { savedX = (int)x(); savedY = (int)y(); }
48 void moveToPile(int p) { Q_UNUSED(p); }
49 void setCardBack(int b);
50
51 /*virtual*/ void flipTo(int x, int y, int steps = 8);
52 /*virtual*/ void setPos( int x, int y, int z ) { setX( x ); setY( y ); setZ( z ); }
53 /*virtual*/ void showCard(void) { show(); }
54 /*virtual*/ void redraw(void) { hide(); show(); }
55 /*virtual*/ void draw(QPainter &p);
56
57 void advance(int stage);
58
59protected:
60 /*virtual*/ void flip(void) { redraw(); }
61
62private:
63 int destX, destY;
64 int animSteps;
65 int flipSteps;
66 bool flipping;
67 int savedX, savedY;
68 int cardBack;
69 int oldCardBack;
70 double scaleX, scaleY;
71 int xOff, yOff;
72 static QPixmap *cardsFaces;
73 static QPixmap *cardsBacks;
74 static QBitmap *cardsChars;
75 static QBitmap *cardsSuits;
76 static QBitmap *cardsCharsUpsideDown;
77 static QBitmap *cardsSuitsUpsideDown;
78};
79
80
81#endif
82