diff options
author | Martin Smith <martin.smith@nokia.com> | 2011-03-24 08:55:07 (GMT) |
---|---|---|
committer | Martin Smith <martin.smith@nokia.com> | 2011-03-24 08:55:07 (GMT) |
commit | 7cdc69ee359b41c7e8986dc588b5acf966df2a81 (patch) | |
tree | 12150964f75badeda928160d700ce1342a7de559 /src/gui/painting/qpaintengine_s60.cpp | |
parent | 1532f7d5dc0c2aab0ab2b62344b398f7fb11de7e (diff) | |
parent | 98d65b5967d5f8a1648d73185986fabab97e692b (diff) | |
download | Qt-7cdc69ee359b41c7e8986dc588b5acf966df2a81.zip Qt-7cdc69ee359b41c7e8986dc588b5acf966df2a81.tar.gz Qt-7cdc69ee359b41c7e8986dc588b5acf966df2a81.tar.bz2 |
Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7
Diffstat (limited to 'src/gui/painting/qpaintengine_s60.cpp')
-rw-r--r-- | src/gui/painting/qpaintengine_s60.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/gui/painting/qpaintengine_s60.cpp b/src/gui/painting/qpaintengine_s60.cpp index 1bc7799..ca303be 100644 --- a/src/gui/painting/qpaintengine_s60.cpp +++ b/src/gui/painting/qpaintengine_s60.cpp @@ -41,6 +41,7 @@ #include <private/qpaintengine_s60_p.h> #include <private/qpixmap_s60_p.h> #include <private/qt_s60_p.h> +#include <private/qvolatileimage_p.h> QT_BEGIN_NAMESPACE @@ -90,7 +91,15 @@ void QS60PaintEngine::drawPixmap(const QPointF &p, const QPixmap &pm) QRasterPaintEngine::drawPixmap(p, pm); srcData->endDataAccess(); } else { - QRasterPaintEngine::drawPixmap(p, pm); + void *nativeData = pm.pixmapData()->toNativeType(QPixmapData::VolatileImage); + if (nativeData) { + QVolatileImage *img = static_cast<QVolatileImage *>(nativeData); + img->beginDataAccess(); + QRasterPaintEngine::drawImage(p, img->imageRef()); + img->endDataAccess(true); + } else { + QRasterPaintEngine::drawPixmap(p, pm); + } } } @@ -102,7 +111,15 @@ void QS60PaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRect QRasterPaintEngine::drawPixmap(r, pm, sr); srcData->endDataAccess(); } else { - QRasterPaintEngine::drawPixmap(r, pm, sr); + void *nativeData = pm.pixmapData()->toNativeType(QPixmapData::VolatileImage); + if (nativeData) { + QVolatileImage *img = static_cast<QVolatileImage *>(nativeData); + img->beginDataAccess(); + QRasterPaintEngine::drawImage(r, img->imageRef(), sr); + img->endDataAccess(true); + } else { + QRasterPaintEngine::drawPixmap(r, pm, sr); + } } } |