diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-10-28 14:37:58 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-10-29 10:01:31 +0000 |
commit | ffab65a1e29d51da39c1be5bb24e6bf972be1281 (patch) | |
tree | d27f1c466268da7b33e5e8f2a106ae771099ab3a | |
parent | 983c206a70ab6a853c8721a6af46fcebca320a90 (diff) |
virtual QQuickAnimatorJob::afterNodeSync()
This is a suitable hook for custom animator jobs to access
QQuickItemPrivate::containerChildNode().
Change-Id: Ie23fd9d6fe053843dd9ac2e8153fabd36873883a
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
-rw-r--r-- | src/quick/util/qquickanimatorcontroller.cpp | 4 | ||||
-rw-r--r-- | src/quick/util/qquickanimatorjob_p.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/quick/util/qquickanimatorcontroller.cpp b/src/quick/util/qquickanimatorcontroller.cpp index c875e18978..cfb6037d14 100644 --- a/src/quick/util/qquickanimatorcontroller.cpp +++ b/src/quick/util/qquickanimatorcontroller.cpp @@ -217,8 +217,8 @@ void QQuickAnimatorController::beforeNodeSync() void QQuickAnimatorController::afterNodeSync() { foreach (QQuickAnimatorJob *job, m_activeLeafAnimations) { - if (job->isUniform() && job->target()) - static_cast<QQuickUniformAnimatorJob *>(job)->afterNodeSync(); + if (job->target()) + job->afterNodeSync(); } } diff --git a/src/quick/util/qquickanimatorjob_p.h b/src/quick/util/qquickanimatorjob_p.h index fd2543ea8a..87f383f754 100644 --- a/src/quick/util/qquickanimatorjob_p.h +++ b/src/quick/util/qquickanimatorjob_p.h @@ -136,6 +136,7 @@ public: virtual void initialize(QQuickAnimatorController *controller); virtual void writeBack() = 0; virtual void nodeWasDestroyed() = 0; + virtual void afterNodeSync() { } bool isTransform() const { return m_isTransform; } bool isUniform() const { return m_isUniform; } @@ -279,7 +280,7 @@ public: void setUniform(const QByteArray &uniform) { m_uniform = uniform; } QByteArray uniform() const { return m_uniform; } - void afterNodeSync(); + void afterNodeSync() Q_DECL_OVERRIDE; void updateCurrentTime(int time); void writeBack(); |