summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@nokia.com>2011-07-08 11:17:37 (GMT)
committerJerome Pasion <jerome.pasion@nokia.com>2011-07-08 11:17:37 (GMT)
commitf037c0e87d186a01f07cb9aa360dcc496d11145e (patch)
tree9449cc65b856b4743e933cf2b8ae1cb2f85ba9fd /doc
parent5016de08d84c4d2887f7424dbf17f31e27c2e8e2 (diff)
parent1dd26ea2486db87b61e8e9f70a1e04f7386405ef (diff)
downloadQt-f037c0e87d186a01f07cb9aa360dcc496d11145e.zip
Qt-f037c0e87d186a01f07cb9aa360dcc496d11145e.tar.gz
Qt-f037c0e87d186a01f07cb9aa360dcc496d11145e.tar.bz2
Merge remote branch 'upstream/4.8'
Conflicts: doc/src/external-resources.qdoc
Diffstat (limited to 'doc')
-rw-r--r--doc/src/external-resources.qdoc5
-rw-r--r--doc/src/platforms/platform-notes.qdoc42
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp35
3 files changed, 77 insertions, 5 deletions
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 8b5d039..63e11c8 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -498,3 +498,8 @@
\externalpage http://www.rfc-editor.org/rfc/bcp/bcp47.txt
\title RFC 5646 - BCP47
*/
+
+/*!
+ \externalpage http://www.developer.nokia.com/Community/Wiki/Graphics_memory_handling
+ \title Graphics Out Of Memory monitor
+*/
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index c2e47c2..175cf1c 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -815,11 +815,43 @@
plugin. If the Helix plugin fails to load, the MMF plugin, if present on
the device, will be loaded instead.
- \section1 QtOpenGL Support
-
- Qt 4.7 introduces the QtOpenGL module to Symbian^3. QtOpenGL is supported on
- devices which support OpenGL ES 2.0. Symbian platforms prior to Symbian^3
- are not supported.
+ \section1 Hardware Accelerated Rendering
+
+ The default graphics system on Symbian^3 is OpenVG, which uses OpenVG
+ hardware to accelerate \l QPainter functions. There are a few exceptions,
+ where Qt will use software rendering fallback.
+
+ Devices like the N8 and C7 only have 32Mb of GPU memory and limited support
+ for EGL surface transparency. These devices can be identified by querying
+ the\c GL_RENDERER or \c VG_RENDERER string which evaluates to \c {VideoCore III}.
+ On these devices, Qt will use software rendering in cases listed below.
+
+ \list
+ \o Translucent windows
+ \o Dialogs
+ \o Popups
+ \endlist
+
+ \section1 QtOpenGL Support in Symbian
+
+ Qt 4.7 introduces the \l {QtOpenGL} module to Symbian^3. QtOpenGL is
+ supported on devices which support OpenGL ES 2.0. Symbian platforms prior
+ to Symbian^3 are not supported.
+
+ \l QGLWidget usage as a \l QGraphicsView viewport is not recommended on
+ Symbian. The OpenVG graphics system is not able to manage OpenGL graphics
+ resources. Also, a QGLWidget object is not able to release its GPU resources
+ when the application goes to the background. If OpenGL functionality is
+ needed, OpenGL graphics system usage is recommended. If an application
+ decides to use QGLWidget, then it is the application's responsibility to
+ destroy and release QGLWidget and related OpenGL resources when the
+ application goes to the background. Otherwise, the \l{Graphics Out Of Memory monitor}
+ may decide to kill the application as it consumes GPU resources while in the
+ background.
+
+ \note \l QGLBuffer, \l QGLFramebufferObject, \l QGLPixelBuffer, \l
+ QGLShader, and \l QGLShaderProgram are direct GPU resources and it is the
+ application's responsibility to manage them.
\section1 UI Performance in devices prior to Symbian^3
diff --git a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
index 5919c01..cf40f9a 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
@@ -86,3 +86,38 @@ beginMoveRows(parent, 2, 2, parent, 0);
//! [9]
beginMoveRows(parent, 2, 2, parent, 4);
//! [9]
+
+
+//! [10]
+class CustomDataProxy : public QSortFilterProxyModel
+{
+ Q_OBJECT
+public:
+ CustomDataProxy(QObject *parent)
+ : QSortFilterProxyModel(parent)
+ {
+ }
+
+ ...
+
+ QVariant data(const QModelIndex &index, int role)
+ {
+ if (role != Qt::BackgroundRole)
+ return QSortFilterProxyModel::data(index, role);
+
+ if (m_customData.contains(index.row()))
+ return m_customData.value(index.row());
+ return QSortFilterProxyModel::data(index, role);
+ }
+
+private slots:
+ void resetInternalData()
+ {
+ m_customData.clear();
+ }
+
+private:
+ QHash<int, QVariant> m_customData;
+};
+//! [10]
+