-rw-r--r-- | noncore/games/solitaire/canvascard.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/games/solitaire/canvascard.cpp b/noncore/games/solitaire/canvascard.cpp index cd298ef..3ed9ea0 100644 --- a/noncore/games/solitaire/canvascard.cpp +++ b/noncore/games/solitaire/canvascard.cpp | |||
@@ -169,97 +169,97 @@ void CanvasCard::setCardBack(int b) | |||
169 | 169 | ||
170 | void CanvasCard::draw(QPainter &painter) | 170 | void CanvasCard::draw(QPainter &painter) |
171 | { | 171 | { |
172 | int ix = (int)x(), iy = (int)y(); | 172 | int ix = (int)x(), iy = (int)y(); |
173 | 173 | ||
174 | QPainter *p = &painter; | 174 | QPainter *p = &painter; |
175 | QPixmap *unscaledCard = NULL; | 175 | QPixmap *unscaledCard = NULL; |
176 | 176 | ||
177 | if ((scaleX <= 0.98) || (scaleY <= 0.98)) | 177 | if ((scaleX <= 0.98) || (scaleY <= 0.98)) |
178 | { | 178 | { |
179 | p = new QPainter(); | 179 | p = new QPainter(); |
180 | unscaledCard = new QPixmap( cardsFaces->width(), cardsFaces->height() ); | 180 | unscaledCard = new QPixmap( cardsFaces->width(), cardsFaces->height() ); |
181 | p->begin(unscaledCard); | 181 | p->begin(unscaledCard); |
182 | ix = 0; | 182 | ix = 0; |
183 | iy = 0; | 183 | iy = 0; |
184 | } | 184 | } |
185 | 185 | ||
186 | if ( isFacing() ) { | 186 | if ( isFacing() ) { |
187 | 187 | ||
188 | int w = cardsFaces->width(), h = cardsFaces->height(); | 188 | int w = cardsFaces->width(), h = cardsFaces->height(); |
189 | 189 | ||
190 | p->setBrush( QColor( 0xFF, 0xFF, 0xFF ) ); | 190 | p->setBrush( QColor( 0xFF, 0xFF, 0xFF ) ); |
191 | 191 | ||
192 | if ( isRed() == TRUE ) | 192 | if ( isRed() == TRUE ) |
193 | p->setPen( QColor( 0xFF, 0, 0 ) ); | 193 | p->setPen( QColor( 0xFF, 0, 0 ) ); |
194 | else | 194 | else |
195 | p->setPen( QColor( 0, 0, 0 ) ); | 195 | p->setPen( QColor( 0, 0, 0 ) ); |
196 | 196 | ||
197 | if ( qt_screen->deviceWidth() < 200 ) { | 197 | if ( qt_screen->deviceWidth() < 200 ) { |
198 | p->drawPixmap( ix + 0, iy + 0, *cardsFaces ); | 198 | p->drawPixmap( ix + 0, iy + 0, *cardsFaces ); |
199 | p->drawPixmap( ix + 3, iy + 3, *cardsChars, 5*(getValue()-1), 0, 5, 6 ); | 199 | p->drawPixmap( ix + 3, iy + 3, *cardsChars, 5*(getValue()-1), 0, 5, 6 ); |
200 | p->drawPixmap( ix + 11, iy + 3, *cardsSuits, 5*(getSuit()-1), 0, 5, 6 ); | 200 | p->drawPixmap( ix + 11, iy + 3, *cardsSuits, 5*(getSuit()-1), 0, 5, 6 ); |
201 | p->drawPixmap( ix + w-3-5, iy + h-3-6, *cardsCharsUpsideDown, 5*(12-getValue()+1), 0, 5, 6 ); | 201 | p->drawPixmap( ix + w-3-5, iy + h-3-6, *cardsCharsUpsideDown, 5*(12-getValue()+1), 0, 5, 6 ); |
202 | p->drawPixmap( ix + w-11-5, iy + h-3-6, *cardsSuitsUpsideDown, 5*(3-getSuit()+1), 0, 5, 6 ); | 202 | p->drawPixmap( ix + w-11-5, iy + h-3-6, *cardsSuitsUpsideDown, 5*(3-getSuit()+1), 0, 5, 6 ); |
203 | } else { | 203 | } else { |
204 | p->drawPixmap( ix + 0, iy + 0, *cardsFaces ); | 204 | p->drawPixmap( ix + 0, iy + 0, *cardsFaces ); |
205 | p->drawPixmap( ix + 4, iy + 4, *cardsChars, 7*(getValue()-1), 0, 7, 7 ); | 205 | p->drawPixmap( ix + 4, iy + 4, *cardsChars, 7*(getValue()-1), 0, 7, 7 ); |
206 | p->drawPixmap( ix + 12, iy + 4, *cardsSuits, 7*(getSuit()-1), 0, 7, 8 ); | 206 | p->drawPixmap( ix + 12, iy + 4, *cardsSuits, 7*(getSuit()-1), 0, 7, 8 ); |
207 | p->drawPixmap( ix + w-4-7, iy + h-4-7, *cardsCharsUpsideDown, 7*(12-getValue()+1), 0, 7, 7 ); | 207 | p->drawPixmap( ix + w-4-7, iy + h-4-7, *cardsCharsUpsideDown, 7*(12-getValue()+1), 0, 7, 7 ); |
208 | p->drawPixmap( ix + w-12-7, iy + h-5-7, *cardsSuitsUpsideDown, 7*(3-getSuit()+1), 0, 7, 8 ); | 208 | p->drawPixmap( ix + w-12-7, iy + h-5-7, *cardsSuitsUpsideDown, 7*(3-getSuit()+1), 0, 7, 8 ); |
209 | } | 209 | } |
210 | 210 | ||
211 | } else { | 211 | } else { |
212 | 212 | ||
213 | p->drawPixmap( ix, iy, *cardsBacks ); | 213 | p->drawPixmap( ix, iy, *cardsBacks ); |
214 | 214 | ||
215 | } | 215 | } |
216 | 216 | ||
217 | if (p != &painter) | 217 | if (p != &painter && unscaledCard) |
218 | { | 218 | { |
219 | p->end(); | 219 | p->end(); |
220 | QPixmap *scaledCard = CreateScaledPixmap( unscaledCard, scaleX, scaleY ); | 220 | QPixmap *scaledCard = CreateScaledPixmap( unscaledCard, scaleX, scaleY ); |
221 | int xoff = scaledCard->width() / 2; | 221 | int xoff = scaledCard->width() / 2; |
222 | int yoff = scaledCard->height() / 2; | 222 | int yoff = scaledCard->height() / 2; |
223 | painter.drawPixmap( (int)x() + xOff - xoff, (int)y() + yOff - yoff, *scaledCard ); | 223 | painter.drawPixmap( (int)x() + xOff - xoff, (int)y() + yOff - yoff, *scaledCard ); |
224 | delete p; | 224 | delete p; |
225 | delete unscaledCard; | 225 | delete unscaledCard; |
226 | delete scaledCard; | 226 | delete scaledCard; |
227 | } | 227 | } |
228 | } | 228 | } |
229 | 229 | ||
230 | 230 | ||
231 | static const double flipLift = 1.5; | 231 | static const double flipLift = 1.5; |
232 | 232 | ||
233 | 233 | ||
234 | void CanvasCard::flipTo(int x2, int y2, int steps) | 234 | void CanvasCard::flipTo(int x2, int y2, int steps) |
235 | { | 235 | { |
236 | flipSteps = steps; | 236 | flipSteps = steps; |
237 | 237 | ||
238 | #ifdef SLOW_HARDWARE | 238 | #ifdef SLOW_HARDWARE |
239 | move(x2,y2); | 239 | move(x2,y2); |
240 | Card::flipTo(x2,y2,steps); | 240 | Card::flipTo(x2,y2,steps); |
241 | #else | 241 | #else |
242 | int x1 = (int)x(); | 242 | int x1 = (int)x(); |
243 | int y1 = (int)y(); | 243 | int y1 = (int)y(); |
244 | double dx = x2 - x1; | 244 | double dx = x2 - x1; |
245 | double dy = y2 - y1; | 245 | double dy = y2 - y1; |
246 | 246 | ||
247 | flipping = TRUE; | 247 | flipping = TRUE; |
248 | destX = x2; | 248 | destX = x2; |
249 | destY = y2; | 249 | destY = y2; |
250 | animSteps = flipSteps; | 250 | animSteps = flipSteps; |
251 | setVelocity(dx/animSteps, dy/animSteps-flipLift); | 251 | setVelocity(dx/animSteps, dy/animSteps-flipLift); |
252 | setAnimated(TRUE); | 252 | setAnimated(TRUE); |
253 | #endif | 253 | #endif |
254 | } | 254 | } |
255 | 255 | ||
256 | 256 | ||
257 | void CanvasCard::advance(int stage) | 257 | void CanvasCard::advance(int stage) |
258 | { | 258 | { |
259 | if ( stage==1 ) { | 259 | if ( stage==1 ) { |
260 | if ( animSteps-- <= 0 ) { | 260 | if ( animSteps-- <= 0 ) { |
261 | scaleX = 1.0; | 261 | scaleX = 1.0; |
262 | scaleY = 1.0; | 262 | scaleY = 1.0; |
263 | flipping = FALSE; | 263 | flipping = FALSE; |
264 | setVelocity(0,0); | 264 | setVelocity(0,0); |
265 | setAnimated(FALSE); | 265 | setAnimated(FALSE); |