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/aspects | |
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/aspects')
-rw-r--r-- | src/core/aspects/qaspectmanager.cpp | 9 | ||||
-rw-r--r-- | src/core/aspects/qaspectmanager_p.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/core/aspects/qaspectmanager.cpp b/src/core/aspects/qaspectmanager.cpp index a327ddaf8..266beb8ff 100644 --- a/src/core/aspects/qaspectmanager.cpp +++ b/src/core/aspects/qaspectmanager.cpp @@ -440,6 +440,15 @@ QVector<QNode *> QAspectManager::lookupNodes(const QVector<QNodeId> &ids) const return d->m_scene ? d->m_scene->lookupNodes(ids) : QVector<QNode *>{}; } +QScene *QAspectManager::scene() const +{ + if (!m_root) + return nullptr; + + QNodePrivate *d = QNodePrivate::get(m_root); + return d->m_scene; +} + void QAspectManager::dumpJobsOnNextFrame() { m_dumpJobs = true; diff --git a/src/core/aspects/qaspectmanager_p.h b/src/core/aspects/qaspectmanager_p.h index 9633149f6..b9982ab96 100644 --- a/src/core/aspects/qaspectmanager_p.h +++ b/src/core/aspects/qaspectmanager_p.h @@ -75,6 +75,7 @@ class QAbstractAspect; class QAbstractAspectJobManager; class QAspectEngine; class QServiceLocator; +class QScene; class NodePostConstructorInit; struct NodeTreeChange; #if QT_CONFIG(animation) @@ -118,6 +119,7 @@ public: QNode *lookupNode(QNodeId id) const; QVector<QNode *> lookupNodes(const QVector<QNodeId> &ids) const; + QScene *scene() const; int jobsInLastFrame() const { return m_jobsInLastFrame; } void dumpJobsOnNextFrame(); |