summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriya Hidayat <ariya.hidayat@nokia.com>2009-07-16 11:13:49 +0200
committerAriya Hidayat <ariya.hidayat@nokia.com>2009-07-16 11:14:43 +0200
commit3d3d3d3884cbf9a426bef8d509f46d2a47321a98 (patch)
tree16945257bf655a36b1e4306b3ea43bbc210e22da
parent684dad28b6d77b333fd7d328f2543e209f7e086e (diff)
Fixlets for the S60 versions.
(1) Do not downscale digits painting if the font is too large. (2) Disable antialiasing and smoothscaling during the animation.
-rw-r--r--digiflip/digiflip.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/digiflip/digiflip.cpp b/digiflip/digiflip.cpp
index 87c4620..7a4b362 100644
--- a/digiflip/digiflip.cpp
+++ b/digiflip/digiflip.cpp
@@ -97,17 +97,24 @@ protected:
}
QPixmap drawDigits(int n, const QRect &rect) {
+
+ int scaleFactor = 2;
+#if defined(Q_OS_SYMBIAN)
+ if (rect.height() > 240)
+ scaleFactor = 1;
+#endif
+
QString str = QString::number(n);
if (str.length() == 1)
str.prepend("0");
QFont font;
font.setFamily("Helvetica");
- int fontHeight = 2 * 0.55 * rect.height();
+ int fontHeight = scaleFactor * 0.55 * rect.height();
font.setPixelSize(fontHeight);
font.setBold(true);
- QPixmap pixmap(rect.size() * 2);
+ QPixmap pixmap(rect.size() * scaleFactor);
pixmap.fill(Qt::transparent);
QLinearGradient gradient(QPoint(0, 0), QPoint(0, pixmap.height()));
@@ -167,8 +174,10 @@ protected:
void paintFlip() {
QPainter p(this);
+#if !defined(Q_OS_SYMBIAN)
p.setRenderHint(QPainter::SmoothPixmapTransform, true);
p.setRenderHint(QPainter::Antialiasing, true);
+#endif
p.fillRect(rect(), Qt::black);
int hw = width() / 2;