-rw-r--r-- | noncore/games/solitaire/canvascardgame.cpp | 27 |
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 @@ -24,16 +24,17 @@ #include "canvascardgame.h" #include <qpe/resource.h> #include <qpe/config.h> #include <qmainwindow.h> #include <qpe/qpemenubar.h> #include <qpainter.h> +#include <qgfx_qws.h> #include <stdlib.h> #include <limits.h> #include <time.h> #include <math.h> extern int highestZ; @@ -66,24 +67,28 @@ private: int destX, destY; int savedX, savedY; int animSteps; }; void CanvasCardPile::addCard( CanvasCard *card ) { + int offsetDown = ( qt_screen->deviceWidth() < 200 ) ? 9 : 13; + int cardHeight = ( qt_screen->deviceWidth() < 200 ) ? 27 : 36; + int cardWidth = ( qt_screen->deviceWidth() < 200 ) ? 20 : 23; + if ( !firstCard ) firstCard = card; - int height = 36 + pileHeight * 13; - setSize( 23, height ); - pile->resize( 23, height ); + int height = cardHeight + pileHeight * offsetDown; + setSize( cardWidth, height ); + pile->resize( cardWidth, height ); QPainter p( pile ); - p.translate( -card->x(), -card->y() + pileHeight * 13 ); + p.translate( -card->x(), -card->y() + pileHeight * offsetDown ); card->draw( p ); pileHeight++; QImage tempImage; tempImage = *pile; tempImage32 = tempImage.convertDepth( 32 ); tempImage32.setAlphaBuffer( TRUE ); for ( int i = 0; i < tempImage32.width(); i++ ) @@ -94,27 +99,27 @@ void CanvasCardPile::addCard( CanvasCard *card ) tempImage32.setPixel( i, j, alpha ); } QRgb alpha = qRgba( 0, 0, 0, 0 ); tempImage32.setPixel( 1, 0, alpha ); tempImage32.setPixel( 0, 0, alpha ); tempImage32.setPixel( 0, 1, alpha ); - tempImage32.setPixel( 21, 0, alpha ); - tempImage32.setPixel( 22, 0, alpha ); - tempImage32.setPixel( 22, 1, alpha ); + tempImage32.setPixel( cardWidth - 2, 0, alpha ); + tempImage32.setPixel( cardWidth - 1, 0, alpha ); + tempImage32.setPixel( cardWidth - 1, 1, alpha ); height--; tempImage32.setPixel( 1, height, alpha ); tempImage32.setPixel( 0, height - 1, alpha ); tempImage32.setPixel( 0, height, alpha ); - tempImage32.setPixel( 21, height, alpha ); - tempImage32.setPixel( 22, height, alpha ); - tempImage32.setPixel( 22, height - 1, alpha ); + tempImage32.setPixel( cardWidth - 2, height, alpha ); + tempImage32.setPixel( cardWidth - 1, height, alpha ); + tempImage32.setPixel( cardWidth - 1, height - 1, alpha ); } void CanvasCardPile::advance(int stage) { if ( stage==1 ) { if ( animSteps-- <= 0 ) { CanvasCard *item = firstCard; @@ -128,17 +133,17 @@ void CanvasCardPile::advance(int stage) hide(); move(destX,destY); // exact } } QCanvasRectangle::advance(stage); } -void CanvasCardPile::animatedMove(int x2, int y2, int steps = 7 ) +void CanvasCardPile::animatedMove(int x2, int y2, int steps ) { destX = x2; destY = y2; double x1 = x(), y1 = y(), dx = x2 - x1, dy = y2 - y1; // Ensure a good speed while ( fabs(dx/steps)+fabs(dy/steps) < 5.0 && steps > 4 ) |