src/gui/styles/qs60style_s60.cpp
branchRCL_3
changeset 4 3b1da2848fc7
parent 3 41300fa6a67c
child 5 d3bac044e0f0
--- a/src/gui/styles/qs60style_s60.cpp	Tue Feb 02 00:43:10 2010 +0200
+++ b/src/gui/styles/qs60style_s60.cpp	Fri Feb 19 23:40:16 2010 +0200
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
@@ -909,8 +909,11 @@
 }
 
 QFont QS60StylePrivate::s60Font_specific(
-    QS60StyleEnums::FontCategories fontCategory, int pointSize)
+    QS60StyleEnums::FontCategories fontCategory,
+    int pointSize, bool resolveFontSize)
 {
+    Q_UNUSED(resolveFontSize);
+
     TAknFontCategory aknFontCategory = EAknFontCategoryUndefined;
     switch (fontCategory) {
         case QS60StyleEnums::FC_Primary:
@@ -1133,9 +1136,21 @@
 
 QPixmap QS60StylePrivate::backgroundTexture()
 {
+    bool createNewBackground = false;
     if (!m_background) {
+        createNewBackground = true;
+    } else {
+        //if background brush does not match screensize, re-create it
+        if (m_background->width() != S60->screenWidthInPixels ||
+            m_background->height() != S60->screenHeightInPixels) {
+            delete m_background;
+            createNewBackground = true;
+        }
+    }
+
+    if (createNewBackground) {
         QPixmap background = part(QS60StyleEnums::SP_QsnBgScreen,
-                QSize(S60->screenWidthInPixels, S60->screenHeightInPixels), 0, SkinElementFlags());
+            QSize(S60->screenWidthInPixels, S60->screenHeightInPixels), 0, SkinElementFlags());
         m_background = new QPixmap(background);
     }
     return *m_background;
@@ -1143,8 +1158,7 @@
 
 QSize QS60StylePrivate::screenSize()
 {
-    const TSize screenSize = QS60Data::screenDevice()->SizeInPixels();
-    return QSize(screenSize.iWidth, screenSize.iHeight);
+    return QSize(S60->screenWidthInPixels, S60->screenHeightInPixels);
 }
 
 QS60Style::QS60Style()