diff options
author | Jerome Pasion <jerome.pasion@nokia.com> | 2011-07-08 11:17:37 (GMT) |
---|---|---|
committer | Jerome Pasion <jerome.pasion@nokia.com> | 2011-07-08 11:17:37 (GMT) |
commit | f037c0e87d186a01f07cb9aa360dcc496d11145e (patch) | |
tree | 9449cc65b856b4743e933cf2b8ae1cb2f85ba9fd /doc | |
parent | 5016de08d84c4d2887f7424dbf17f31e27c2e8e2 (diff) | |
parent | 1dd26ea2486db87b61e8e9f70a1e04f7386405ef (diff) | |
download | Qt-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.qdoc | 5 | ||||
-rw-r--r-- | doc/src/platforms/platform-notes.qdoc | 42 | ||||
-rw-r--r-- | doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp | 35 |
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] + |