diff options
author | Shane Kearns <shane.kearns@sosco.com> | 2009-10-20 11:34:55 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@sosco.com> | 2009-10-20 11:45:02 (GMT) |
commit | f7d826f1a42c912f1db15da0a1cefe13bdd54906 (patch) | |
tree | 8c230d1d670130687a4301c0d4b90e7a5052a0df /src/gui/styles | |
parent | da3e89e8d98a4d3322eae94aafd38ddb444f144e (diff) | |
download | Qt-f7d826f1a42c912f1db15da0a1cefe13bdd54906.zip Qt-f7d826f1a42c912f1db15da0a1cefe13bdd54906.tar.gz Qt-f7d826f1a42c912f1db15da0a1cefe13bdd54906.tar.bz2 |
Use premultiplied alpha pixel format in Symbian
Gives better performance in the raster paint engine.
For Symbian 9.3 onwards, this can also be used as the native pixmap
format. For 9.2, conversion is required.
Reviewed-by: Sami Merila
Reviewed-by: Jani Hautakangas
Diffstat (limited to 'src/gui/styles')
-rw-r--r-- | src/gui/styles/qs60style_s60.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index cde48d8..d760016 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -747,9 +747,8 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX(QS60StylePrivate::SkinFr QPixmap result; // QS60WindowSurface::unlockBitmapHeap(); - static const bool canDoEColor16MAP = !(QSysInfo::s60Version() == QSysInfo::SV_S60_3_1 || QSysInfo::s60Version() == QSysInfo::SV_S60_3_2); - static const TDisplayMode displayMode = canDoEColor16MAP ? TDisplayMode(13) : EColor16MA; // 13 = EColor16MAP - static const TInt drawParam = canDoEColor16MAP ? KAknsDrawParamDefault : KAknsDrawParamNoClearUnderImage|KAknsDrawParamRGBOnly; + static const TDisplayMode displayMode = S60->supportsPremultipliedAlpha ? Q_SYMBIAN_ECOLOR16MAP : EColor16MA; + static const TInt drawParam = S60->supportsPremultipliedAlpha ? KAknsDrawParamDefault : KAknsDrawParamNoClearUnderImage|KAknsDrawParamRGBOnly; CFbsBitmap *frame = new (ELeave) CFbsBitmap(); //offscreen CleanupStack::PushL(frame); @@ -776,7 +775,7 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX(QS60StylePrivate::SkinFr frameSkinID, centerSkinID, drawParam ); - if (canDoEColor16MAP) { + if (S60->supportsPremultipliedAlpha) { if (drawn) result = fromFbsBitmap(frame, NULL, flags, QImage::Format_ARGB32_Premultiplied); } else { |