diff options
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/qquickcanvas.cpp | 8 | ||||
-rw-r--r-- | src/quick/items/qquickcanvas.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/quick/items/qquickcanvas.cpp b/src/quick/items/qquickcanvas.cpp index 248195127f..08f9b4423f 100644 --- a/src/quick/items/qquickcanvas.cpp +++ b/src/quick/items/qquickcanvas.cpp @@ -282,6 +282,9 @@ void forceUpdate(QQuickItem *item) void QQuickCanvasPrivate::syncSceneGraph() { QML_MEMORY_SCOPE_STRING("SceneGraph"); + Q_Q(QQuickCanvas); + + emit q->beforeSynchronizing(); if (!renderer) { forceUpdate(rootItem); @@ -787,6 +790,11 @@ void QQuickCanvasPrivate::cleanup(QSGNode *n) \list + \li The QQuickCanvas::beforeSynchronizing() signal is emitted. + Applications can make direct connections (Qt::DirectConnection) + to this signal to do any preparation required before calls to + QQuickItem::updatePaintNode(). + \li Synchronzation of the QML state into the scene graph. This is done by calling the QQuickItem::updatePaintNode() function on all items that have changed since the previous frame. When a dedicated diff --git a/src/quick/items/qquickcanvas.h b/src/quick/items/qquickcanvas.h index c3a6e45eba..1d23996b91 100644 --- a/src/quick/items/qquickcanvas.h +++ b/src/quick/items/qquickcanvas.h @@ -125,6 +125,7 @@ Q_SIGNALS: void frameSwapped(); void sceneGraphInitialized(); void sceneGraphInvalidated(); + void beforeSynchronizing(); void beforeRendering(); void afterRendering(); void clearColorChanged(const QColor &); |