summaryrefslogtreecommitdiff
path: root/noncore/games
authorsimon <simon>2002-04-30 14:04:05 (UTC)
committer simon <simon>2002-04-30 14:04:05 (UTC)
commit19d341250ca5c5f21ea278ebdc7050c5400e951f (patch) (unidiff)
treee584643509dc53727895141097aa3adc22bcfd38 /noncore/games
parent23834bdf2d57d155644234e45e647567d4c027d1 (diff)
downloadopie-19d341250ca5c5f21ea278ebdc7050c5400e951f.zip
opie-19d341250ca5c5f21ea278ebdc7050c5400e951f.tar.gz
opie-19d341250ca5c5f21ea278ebdc7050c5400e951f.tar.bz2
- no default arguments in method impls
Diffstat (limited to 'noncore/games') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/solitaire/canvascardgame.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/noncore/games/solitaire/canvascardgame.cpp b/noncore/games/solitaire/canvascardgame.cpp
index 32635a0..ef35287 100644
--- a/noncore/games/solitaire/canvascardgame.cpp
+++ b/noncore/games/solitaire/canvascardgame.cpp
@@ -20,24 +20,25 @@
20 20
21#include "cardgame.h" 21#include "cardgame.h"
22#include "canvasshapes.h" 22#include "canvasshapes.h"
23#include "canvascard.h" 23#include "canvascard.h"
24#include "canvascardgame.h" 24#include "canvascardgame.h"
25 25
26#include <qpe/resource.h> 26#include <qpe/resource.h>
27#include <qpe/config.h> 27#include <qpe/config.h>
28 28
29#include <qmainwindow.h> 29#include <qmainwindow.h>
30#include <qpe/qpemenubar.h> 30#include <qpe/qpemenubar.h>
31#include <qpainter.h> 31#include <qpainter.h>
32#include <qgfx_qws.h>
32 33
33#include <stdlib.h> 34#include <stdlib.h>
34#include <limits.h> 35#include <limits.h>
35#include <time.h> 36#include <time.h>
36#include <math.h> 37#include <math.h>
37 38
38 39
39extern int highestZ; 40extern int highestZ;
40 41
41 42
42class CanvasCardPile : public QCanvasRectangle 43class CanvasCardPile : public QCanvasRectangle
43{ 44{
@@ -62,87 +63,91 @@ private:
62 QPixmap *pile; 63 QPixmap *pile;
63 QImage tempImage32; 64 QImage tempImage32;
64 CanvasCard *firstCard; 65 CanvasCard *firstCard;
65 int pileHeight; 66 int pileHeight;
66 int destX, destY; 67 int destX, destY;
67 int savedX, savedY; 68 int savedX, savedY;
68 int animSteps; 69 int animSteps;
69}; 70};
70 71
71 72
72void CanvasCardPile::addCard( CanvasCard *card ) 73void CanvasCardPile::addCard( CanvasCard *card )
73{ 74{
75 int offsetDown = ( qt_screen->deviceWidth() < 200 ) ? 9 : 13;
76 int cardHeight = ( qt_screen->deviceWidth() < 200 ) ? 27 : 36;
77 int cardWidth = ( qt_screen->deviceWidth() < 200 ) ? 20 : 23;
78
74 if ( !firstCard ) 79 if ( !firstCard )
75 firstCard = card; 80 firstCard = card;
76 81
77 int height = 36 + pileHeight * 13; 82 int height = cardHeight + pileHeight * offsetDown;
78 setSize( 23, height ); 83 setSize( cardWidth, height );
79 pile->resize( 23, height ); 84 pile->resize( cardWidth, height );
80 QPainter p( pile ); 85 QPainter p( pile );
81 p.translate( -card->x(), -card->y() + pileHeight * 13 ); 86 p.translate( -card->x(), -card->y() + pileHeight * offsetDown );
82 card->draw( p ); 87 card->draw( p );
83 pileHeight++; 88 pileHeight++;
84 89
85 QImage tempImage; 90 QImage tempImage;
86 tempImage = *pile; 91 tempImage = *pile;
87 tempImage32 = tempImage.convertDepth( 32 ); 92 tempImage32 = tempImage.convertDepth( 32 );
88 tempImage32.setAlphaBuffer( TRUE ); 93 tempImage32.setAlphaBuffer( TRUE );
89 for ( int i = 0; i < tempImage32.width(); i++ ) 94 for ( int i = 0; i < tempImage32.width(); i++ )
90 for ( int j = 0; j < tempImage32.height(); j++ ) { 95 for ( int j = 0; j < tempImage32.height(); j++ ) {
91 QRgb col = tempImage32.pixel( i, j ); 96 QRgb col = tempImage32.pixel( i, j );
92 int a = 255-j*220/tempImage32.height(); 97 int a = 255-j*220/tempImage32.height();
93 QRgb alpha = qRgba( qRed( col ), qGreen( col ), qBlue( col ), a ); 98 QRgb alpha = qRgba( qRed( col ), qGreen( col ), qBlue( col ), a );
94 tempImage32.setPixel( i, j, alpha ); 99 tempImage32.setPixel( i, j, alpha );
95 } 100 }
96 101
97 QRgb alpha = qRgba( 0, 0, 0, 0 ); 102 QRgb alpha = qRgba( 0, 0, 0, 0 );
98 tempImage32.setPixel( 1, 0, alpha ); 103 tempImage32.setPixel( 1, 0, alpha );
99 tempImage32.setPixel( 0, 0, alpha ); 104 tempImage32.setPixel( 0, 0, alpha );
100 tempImage32.setPixel( 0, 1, alpha ); 105 tempImage32.setPixel( 0, 1, alpha );
101 106
102 tempImage32.setPixel( 21, 0, alpha ); 107 tempImage32.setPixel( cardWidth - 2, 0, alpha );
103 tempImage32.setPixel( 22, 0, alpha ); 108 tempImage32.setPixel( cardWidth - 1, 0, alpha );
104 tempImage32.setPixel( 22, 1, alpha ); 109 tempImage32.setPixel( cardWidth - 1, 1, alpha );
105 height--; 110 height--;
106 tempImage32.setPixel( 1, height, alpha ); 111 tempImage32.setPixel( 1, height, alpha );
107 tempImage32.setPixel( 0, height - 1, alpha ); 112 tempImage32.setPixel( 0, height - 1, alpha );
108 tempImage32.setPixel( 0, height, alpha ); 113 tempImage32.setPixel( 0, height, alpha );
109 114
110 tempImage32.setPixel( 21, height, alpha ); 115 tempImage32.setPixel( cardWidth - 2, height, alpha );
111 tempImage32.setPixel( 22, height, alpha ); 116 tempImage32.setPixel( cardWidth - 1, height, alpha );
112 tempImage32.setPixel( 22, height - 1, alpha ); 117 tempImage32.setPixel( cardWidth - 1, height - 1, alpha );
113} 118}
114 119
115 120
116void CanvasCardPile::advance(int stage) 121void CanvasCardPile::advance(int stage)
117{ 122{
118 if ( stage==1 ) { 123 if ( stage==1 ) {
119 if ( animSteps-- <= 0 ) { 124 if ( animSteps-- <= 0 ) {
120 CanvasCard *item = firstCard; 125 CanvasCard *item = firstCard;
121 while (item) { 126 while (item) {
122 item->show(); 127 item->show();
123 item = (CanvasCard *)item->getCardPile()->cardInfront(item); 128 item = (CanvasCard *)item->getCardPile()->cardInfront(item);
124 } 129 }
125 setVelocity(0,0); 130 setVelocity(0,0);
126 setAnimated(FALSE); 131 setAnimated(FALSE);
127 parent->cancelMoving(); 132 parent->cancelMoving();
128 hide(); 133 hide();
129 move(destX,destY); // exact 134 move(destX,destY); // exact
130 } 135 }
131 } 136 }
132 QCanvasRectangle::advance(stage); 137 QCanvasRectangle::advance(stage);
133} 138}
134 139
135 140
136void CanvasCardPile::animatedMove(int x2, int y2, int steps = 7 ) 141void CanvasCardPile::animatedMove(int x2, int y2, int steps )
137{ 142{
138 destX = x2; 143 destX = x2;
139 destY = y2; 144 destY = y2;
140 145
141 double x1 = x(), y1 = y(), dx = x2 - x1, dy = y2 - y1; 146 double x1 = x(), y1 = y(), dx = x2 - x1, dy = y2 - y1;
142 147
143 // Ensure a good speed 148 // Ensure a good speed
144 while ( fabs(dx/steps)+fabs(dy/steps) < 5.0 && steps > 4 ) 149 while ( fabs(dx/steps)+fabs(dy/steps) < 5.0 && steps > 4 )
145 steps--; 150 steps--;
146 151
147 setAnimated(TRUE); 152 setAnimated(TRUE);
148 setVelocity(dx/steps, dy/steps); 153 setVelocity(dx/steps, dy/steps);