diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2011-03-21 11:33:08 (GMT) |
---|---|---|
committer | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2011-03-21 11:35:08 (GMT) |
commit | 9204b29b05cba62d64bf189d30b72b93f1693bbf (patch) | |
tree | e32220e12e751f5ab89aacfb822e0f402b493354 /src/opengl/qpixmapdata_gl_p.h | |
parent | 589fb7812ac81192a7013c0b186354f121118398 (diff) | |
download | Qt-9204b29b05cba62d64bf189d30b72b93f1693bbf.zip Qt-9204b29b05cba62d64bf189d30b72b93f1693bbf.tar.gz Qt-9204b29b05cba62d64bf189d30b72b93f1693bbf.tar.bz2 |
Change the pooled QGLPixmapData to be backed by QVolatileImage.
This change currently affects QGLPixmapData on Symbian only. Similarly
to the OpenVG engine, using QVolatileImage allows more efficient
handling of to- and fromSymbianCFbsBitmap, reduces local heap usage,
and improves s60 style performance.
Task-number: QTBUG-15252
Reviewed-by: Jani Hautakangas
Diffstat (limited to 'src/opengl/qpixmapdata_gl_p.h')
-rw-r--r-- | src/opengl/qpixmapdata_gl_p.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h index 55cc29d..41740dd 100644 --- a/src/opengl/qpixmapdata_gl_p.h +++ b/src/opengl/qpixmapdata_gl_p.h @@ -59,6 +59,10 @@ #include "private/qpixmapdata_p.h" #include "private/qglpaintdevice_p.h" +#ifdef Q_OS_SYMBIAN +#include "private/qvolatileimage_p.h" +#endif + QT_BEGIN_NAMESPACE class QPaintEngine; @@ -153,6 +157,7 @@ public: #endif #ifdef Q_OS_SYMBIAN + QImage::Format idealFormat(QImage &image, Qt::ImageConversionFlags flags); void* toNativeType(NativeType type); void fromNativeType(void* pixmap, NativeType type); #endif @@ -184,7 +189,11 @@ private: mutable QGLFramebufferObject *m_renderFbo; mutable QPaintEngine *m_engine; mutable QGLContext *m_ctx; +#ifdef Q_OS_SYMBIAN + mutable QVolatileImage m_source; +#else mutable QImage m_source; +#endif mutable QGLTexture m_texture; // the texture is not in sync with the source image |