hopefully faster flipcards-animation

This commit is contained in:
doitux
2007-11-04 12:09:12 +00:00
parent 127b0657ca
commit f4b1172208
+7 -9
View File
@@ -90,6 +90,9 @@ void MyCardsPixmapLabel::startFlipCards(int speed, QPixmap frontPix, QPixmap *fl
*front = frontPix; *front = frontPix;
flipside = flipsidePix; flipside = flipsidePix;
*flipside = flipside->scaled(width(), height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
*front = front->scaled(width(), height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
if(speed <= 4) { flipCardsScaleIntervall = 0.1; } if(speed <= 4) { flipCardsScaleIntervall = 0.1; }
if(speed > 4 && speed <= 6) { flipCardsScaleIntervall = 0.20; } if(speed > 4 && speed <= 6) { flipCardsScaleIntervall = 0.20; }
if(speed > 6 && speed <= 8) { flipCardsScaleIntervall = 0.25; } if(speed > 6 && speed <= 8) { flipCardsScaleIntervall = 0.25; }
@@ -177,25 +180,20 @@ void MyCardsPixmapLabel::paintEvent(QPaintEvent * event) {
if (flipCardsAction1) { if (flipCardsAction1) {
QPainter painter2(this); QPainter painter2(this);
QPixmap tmpFlipside = flipside->scaled(width(), height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); QPointF center(flipside->width()/2.0, flipside->height()/2.0);
QPointF center(tmpFlipside.width()/2.0, tmpFlipside.height()/2.0);
painter2.translate(center); painter2.translate(center);
painter2.scale(frameFlipCardsAction1Size ,1); painter2.scale(frameFlipCardsAction1Size ,1);
painter2.translate(-center); painter2.translate(-center);
painter2.drawPixmap(0,0, tmpFlipside); painter2.drawPixmap(0,0, *flipside);
} }
if (flipCardsAction2) { if (flipCardsAction2) {
QPainter painter3(this); QPainter painter3(this);
QPixmap tmpFront = front->scaled(width(), height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); QPointF center(front->width()/2.0, front->height()/2.0);
QPointF center(tmpFront.width()/2.0, tmpFront.height()/2.0);
painter3.translate(center); painter3.translate(center);
painter3.scale(frameFlipCardsAction2Size ,1); painter3.scale(frameFlipCardsAction2Size ,1);
painter3.translate(-center); painter3.translate(-center);
painter3.drawPixmap(0,0, *front);
painter3.drawPixmap(0,0, tmpFront);
} }
if (fastFlipCardsFront && !fadeOutAction && !flipCardsAction1 && !flipCardsAction2) { if (fastFlipCardsFront && !fadeOutAction && !flipCardsAction1 && !flipCardsAction2) {