summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (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
@@ -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 )