summaryrefslogtreecommitdiffstats
path: root/src/openvg/qpaintengine_vg.cpp
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2010-02-15 15:23:23 (GMT)
committerJason Barron <jbarron@trolltech.com>2010-07-12 07:03:07 (GMT)
commit940930dd8102511e6890ed661cf3d2dd88c2e1f4 (patch)
tree2eaa62af9ff24eb0c45caa6c7d6f09274480b159 /src/openvg/qpaintengine_vg.cpp
parent4c392ee7f9f7445620269fbd3250a17a982e2369 (diff)
downloadQt-940930dd8102511e6890ed661cf3d2dd88c2e1f4.zip
Qt-940930dd8102511e6890ed661cf3d2dd88c2e1f4.tar.gz
Qt-940930dd8102511e6890ed661cf3d2dd88c2e1f4.tar.bz2
Enable cross-process glyph cache for OpenVG graphics system on Symbian.
This introduces a specialized OpenVG font cache for the Symbian platform. By using RGlyphDataIterator we can create a VGImage to store inside a VGFont without having to upload our own glyph image. This works by utilizing RSgImage which can be used to share handles to graphics memory across processes thus allowing glyph images to be shared by multiple processes and reducing graphics memory usage. Reviewed-by: Alessandro Portale
Diffstat (limited to 'src/openvg/qpaintengine_vg.cpp')
-rw-r--r--src/openvg/qpaintengine_vg.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index 564b390..01c7a7e 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -3406,7 +3406,11 @@ void QVGPaintEngine::drawStaticTextItem(QStaticTextItem *textItem)
if (it != d->fontCache.constEnd()) {
glyphCache = it.value();
} else {
+#ifdef Q_OS_SYMBIAN
+ glyphCache = new QSymbianVGFontGlyphCache();
+#else
glyphCache = new QVGFontGlyphCache();
+#endif
if (glyphCache->font == VG_INVALID_HANDLE) {
qWarning("QVGPaintEngine::drawTextItem: OpenVG fonts are not supported by the OpenVG engine");
delete glyphCache;