diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2011-02-28 11:55:33 (GMT) |
---|---|---|
committer | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2011-02-28 11:55:33 (GMT) |
commit | ae6bc1d824f5ae24a259be0c68241873cb96739f (patch) | |
tree | 3c6780fa6c2101ff77ce60a49f565fee84de7e48 /src/openvg/qpixmapdata_vg_p.h | |
parent | 0db888489e613ca5c5c57c46e1043e1823fcd0d8 (diff) | |
download | Qt-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.h | 6 |
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(); |