diff options
Diffstat (limited to 'src/quick/util/qquickanimatorcontroller_p.h')
-rw-r--r-- | src/quick/util/qquickanimatorcontroller_p.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/quick/util/qquickanimatorcontroller_p.h b/src/quick/util/qquickanimatorcontroller_p.h index bd44adf928..b13c174606 100644 --- a/src/quick/util/qquickanimatorcontroller_p.h +++ b/src/quick/util/qquickanimatorcontroller_p.h @@ -43,12 +43,14 @@ QT_BEGIN_NAMESPACE +class QQuickAnimatorControllerGuiThreadEntity; + class QQuickAnimatorController : public QObject, public QAnimationJobChangeListener { Q_OBJECT public: - QQuickAnimatorController(); + QQuickAnimatorController(QQuickWindow *window); ~QQuickAnimatorController(); void advance(); @@ -68,6 +70,9 @@ public: void lock() { m_mutex.lock(); } void unlock() { m_mutex.unlock(); } + + void proxyWasDestroyed(QQuickAnimatorProxyJob *proxy); + void stopProxyJobs(); void windowNodesDestroyed(); public Q_SLOTS: @@ -85,11 +90,25 @@ public: QHash<QQuickItem *, QQuickTransformAnimatorJob::Helper *> m_transforms; QSet<QQuickItem *> m_deletedSinceLastFrame; QQuickWindow *m_window; + QQuickAnimatorControllerGuiThreadEntity *m_guiEntity; + QSet<QQuickAnimatorProxyJob *> m_proxiesToStop; QMutex m_mutex; bool m_nodesAreInvalid; }; +class QQuickAnimatorControllerGuiThreadEntity : public QObject +{ + Q_OBJECT +public: + QPointer<QQuickAnimatorController> controller; + +public Q_SLOTS: + void frameSwapped(); +}; + + + QT_END_NAMESPACE #endif // QQUICKANIMATORCONTROLLER_P_H |