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 void pause(
const QSharedPointer<QAbstractAnimationJob> &job);
50 bool isPendingStart(
const QSharedPointer<QAbstractAnimationJob> &job)
const {
return m_rootsPendingStart.contains(job); }
52 void lock() { m_mutex.lock(); }
53 void unlock() { m_mutex.unlock(); }
55 void windowNodesDestroyed();
57 QQuickWindow *window()
const {
return m_window; }
60 friend class tst_Animators;
62 void start_helper(QAbstractAnimationJob *job);
63 void cancel_helper(QAbstractAnimationJob *job);
65 QSet<QQuickAnimatorJob * > m_runningAnimators;
66 QHash<QAbstractAnimationJob *, QSharedPointer<QAbstractAnimationJob> > m_animationRoots;
67 QSet<QSharedPointer<QAbstractAnimationJob> > m_rootsPendingStop;
68 QSet<QSharedPointer<QAbstractAnimationJob> > m_rootsPendingStart;
69 QSet<QSharedPointer<QAbstractAnimationJob> > m_rootsPendingPause;
71 QQuickWindow *m_window;