34 QQuickAnimatorController(QQuickWindow *window);
35 ~QQuickAnimatorController();
38 void beforeNodeSync();
41 void animationFinished(QAbstractAnimationJob *job) override;
42 void animationStateChanged(QAbstractAnimationJob *job, QAbstractAnimationJob::State newState, QAbstractAnimationJob::State oldState) override;
47 void start(
const QSharedPointer<QAbstractAnimationJob> &job);
48 void cancel(
const QSharedPointer<QAbstractAnimationJob> &job);
49 bool isPendingStart(
const QSharedPointer<QAbstractAnimationJob> &job)
const {
return m_rootsPendingStart.contains(job); }
51 void lock() { m_mutex.lock(); }
52 void unlock() { m_mutex.unlock(); }
54 void windowNodesDestroyed();
56 QQuickWindow *window()
const {
return m_window; }
59 friend class tst_Animators;
61 void start_helper(QAbstractAnimationJob *job);
62 void cancel_helper(QAbstractAnimationJob *job);
64 QSet<QQuickAnimatorJob * > m_runningAnimators;
65 QHash<QAbstractAnimationJob *, QSharedPointer<QAbstractAnimationJob> > m_animationRoots;
66 QSet<QSharedPointer<QAbstractAnimationJob> > m_rootsPendingStop;
67 QSet<QSharedPointer<QAbstractAnimationJob> > m_rootsPendingStart;
69 QQuickWindow *m_window;