summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2019-09-18 20:00:05 +0100
committerMike Krus <mike.krus@kdab.com>2019-09-20 08:18:21 +0100
commit577defa7b0664ca547ef6708a9e0b832670aec78 (patch)
tree6ab07bf884ba31e859b6fd12b17d6cceddd048fd
parent780c9fda47caacc5505d37d31f63c33fcb90182f (diff)
Enable syncing on animation aspect
Change-Id: I4333cb98d4339fa9dc02ebb27231aad748fdb3c2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/animation/backend/backendnode.cpp9
-rw-r--r--src/animation/backend/backendnode_p.h2
-rw-r--r--src/animation/frontend/qanimationaspect.cpp6
-rw-r--r--src/animation/frontend/qanimationaspect_p.h2
4 files changed, 19 insertions, 0 deletions
diff --git a/src/animation/backend/backendnode.cpp b/src/animation/backend/backendnode.cpp
index 6ea7f89c7..f44836a67 100644
--- a/src/animation/backend/backendnode.cpp
+++ b/src/animation/backend/backendnode.cpp
@@ -38,6 +38,8 @@
****************************************************************************/
#include "backendnode_p.h"
+#include <Qt3DCore/qnode.h>
+#include <Qt3DCore/private/qbackendnode_p.h>
QT_BEGIN_NAMESPACE
@@ -65,6 +67,13 @@ void BackendNode::setDirty(Handler::DirtyFlag flag)
m_handler->setDirty(flag, peerId());
}
+void BackendNode::syncFromFrontEnd(const Qt3DCore::QNode *frontEnd, bool firstTime)
+{
+ Q_UNUSED(firstTime)
+
+ d_ptr->setEnabled(frontEnd->isEnabled());
+}
+
} // namespace Animation
} // namespace Qt3DAnimation
diff --git a/src/animation/backend/backendnode_p.h b/src/animation/backend/backendnode_p.h
index d7842517a..4e450b6ec 100644
--- a/src/animation/backend/backendnode_p.h
+++ b/src/animation/backend/backendnode_p.h
@@ -68,6 +68,8 @@ public:
void setHandler(Handler *handler);
+ virtual void syncFromFrontEnd(const Qt3DCore::QNode *frontEnd, bool firstTime);
+
protected:
void setDirty(Handler::DirtyFlag flag);
Handler *m_handler;
diff --git a/src/animation/frontend/qanimationaspect.cpp b/src/animation/frontend/qanimationaspect.cpp
index a25eb533e..b44ceaef4 100644
--- a/src/animation/frontend/qanimationaspect.cpp
+++ b/src/animation/frontend/qanimationaspect.cpp
@@ -69,6 +69,12 @@ QAnimationAspectPrivate::QAnimationAspectPrivate()
{
}
+void QAnimationAspectPrivate::syncDirtyFrontEndNode(QNode *node, QBackendNode *backend, bool firstTime) const
+{
+ Animation::BackendNode *renderBackend = static_cast<Animation::BackendNode *>(backend);
+ renderBackend->syncFromFrontEnd(node, firstTime);
+}
+
/*!
\class Qt3DAnimation::QAnimationAspect
\inherits Qt3DCore::QAbstractAspect
diff --git a/src/animation/frontend/qanimationaspect_p.h b/src/animation/frontend/qanimationaspect_p.h
index 2ecc8fdb8..203acd386 100644
--- a/src/animation/frontend/qanimationaspect_p.h
+++ b/src/animation/frontend/qanimationaspect_p.h
@@ -70,6 +70,8 @@ public:
Q_DECLARE_PUBLIC(QAnimationAspect)
+ void syncDirtyFrontEndNode(Qt3DCore::QNode *node, Qt3DCore::QBackendNode *backend, bool firstTime) const override;
+
QScopedPointer<Animation::Handler> m_handler;
};