diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-02-26 19:42:08 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-04-07 07:55:41 +0000 |
commit | a1d2f784dc508eeb1fdbd613f4c9e077633501da (patch) | |
tree | 8ffc57834d1902ff8510b702cd57701b5e099cf3 /src/core/transforms | |
parent | 4af0d097e76f01957b03dfa76d335d99450e438d (diff) |
Track dirty state on front end nodes
Nothing clears the state yet, will be up to the core aspect to do that.
Change-Id: Ia3a5297a4b837b1d67545bd29ddce56666c520f3
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/transforms')
-rw-r--r-- | src/core/transforms/qtransform.cpp | 8 | ||||
-rw-r--r-- | src/core/transforms/qtransform_p.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/core/transforms/qtransform.cpp b/src/core/transforms/qtransform.cpp index edbca7280..dedb27b26 100644 --- a/src/core/transforms/qtransform.cpp +++ b/src/core/transforms/qtransform.cpp @@ -243,6 +243,14 @@ void QTransformPrivate::setWorldMatrix(const QMatrix4x4 &worldMatrix) q->blockNotifications(blocked); } +void QTransformPrivate::update() +{ + if (!m_blockNotifications) + m_dirty = true; + markDirty(QScene::TransformDirty); + QNodePrivate::update(); +} + void QTransform::setMatrix(const QMatrix4x4 &m) { Q_D(QTransform); diff --git a/src/core/transforms/qtransform_p.h b/src/core/transforms/qtransform_p.h index 56053309e..81c8489a7 100644 --- a/src/core/transforms/qtransform_p.h +++ b/src/core/transforms/qtransform_p.h @@ -78,7 +78,10 @@ public: QMatrix4x4 m_worldMatrix; + bool m_dirty; + void setWorldMatrix(const QMatrix4x4 &worldMatrix); + void update() override; }; struct QTransformData |