summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_s60.cpp
diff options
context:
space:
mode:
authorMartin Smith <martin.smith@nokia.com>2011-03-24 08:55:07 (GMT)
committerMartin Smith <martin.smith@nokia.com>2011-03-24 08:55:07 (GMT)
commit7cdc69ee359b41c7e8986dc588b5acf966df2a81 (patch)
tree12150964f75badeda928160d700ce1342a7de559 /src/gui/painting/qpaintengine_s60.cpp
parent1532f7d5dc0c2aab0ab2b62344b398f7fb11de7e (diff)
parent98d65b5967d5f8a1648d73185986fabab97e692b (diff)
downloadQt-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.cpp21
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);
+ }
}
}