summaryrefslogtreecommitdiffstats
path: root/src/openvg/qpixmapdata_vg_p.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-02-28 11:55:33 (GMT)
committerLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-02-28 11:55:33 (GMT)
commitae6bc1d824f5ae24a259be0c68241873cb96739f (patch)
tree3c6780fa6c2101ff77ce60a49f565fee84de7e48 /src/openvg/qpixmapdata_vg_p.h
parent0db888489e613ca5c5c57c46e1043e1823fcd0d8 (diff)
downloadQt-ae6bc1d824f5ae24a259be0c68241873cb96739f.zip
Qt-ae6bc1d824f5ae24a259be0c68241873cb96739f.tar.gz
Qt-ae6bc1d824f5ae24a259be0c68241873cb96739f.tar.bz2
Changed QPixmap VG backend to use CFbsBitmap on Symbian.
Similarly to QS60PixmapData, that is used on raster, QVGPixmapData is also backed by a CFbsBitmap from now on (at least when it makes sense to do so). This allows copy-less bitmap handle duplication in from- and toSymbianCFbsBitmap() in case of certain image formats, reduces local heap usage and improves performance with the s60 style due to a reduced number of pixel data copies. Task-number: QT-2505 Reviewed-by: Jason Barron Reviewed-by: Jani Hautakangas
Diffstat (limited to 'src/openvg/qpixmapdata_vg_p.h')
-rw-r--r--src/openvg/qpixmapdata_vg_p.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/openvg/qpixmapdata_vg_p.h b/src/openvg/qpixmapdata_vg_p.h
index 58e69db..c4fd47f 100644
--- a/src/openvg/qpixmapdata_vg_p.h
+++ b/src/openvg/qpixmapdata_vg_p.h
@@ -54,6 +54,7 @@
//
#include <QtGui/private/qpixmap_raster_p.h>
+#include <QtGui/private/qvolatileimage_p.h>
#include <private/qvg_p.h>
#if defined(Q_OS_SYMBIAN)
@@ -99,6 +100,7 @@ public:
bool hasAlphaChannel() const;
void setAlphaChannel(const QPixmap &alphaChannel);
QImage toImage() const;
+ void copy(const QPixmapData *data, const QRect &rect);
QImage *buffer();
QPaintEngine* paintEngine() const;
@@ -161,7 +163,7 @@ protected:
VGImage vgImage;
VGImage vgImageOpacity;
qreal cachedOpacity;
- mutable QImage source;
+ mutable QVolatileImage source;
mutable bool recreate;
bool inImagePool;
#if !defined(QT_NO_EGL)
@@ -170,6 +172,8 @@ protected:
void forceToImage();
QImage::Format sourceFormat() const;
+ QImage::Format idealFormat(QImage *image, Qt::ImageConversionFlags flags) const;
+ void updateSerial();
void destroyImageAndContext();
void destroyImages();