summaryrefslogtreecommitdiffstats
path: root/src/core/aspects/qaspectmanager_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/aspects/qaspectmanager_p.h')
-rw-r--r--src/core/aspects/qaspectmanager_p.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/core/aspects/qaspectmanager_p.h b/src/core/aspects/qaspectmanager_p.h
index d9a6c41ec..2038e0822 100644
--- a/src/core/aspects/qaspectmanager_p.h
+++ b/src/core/aspects/qaspectmanager_p.h
@@ -73,15 +73,19 @@ class QScheduler;
class QChangeArbiter;
class QAbstractAspect;
class QAbstractAspectJobManager;
+class QAspectEngine;
class QServiceLocator;
class NodePostConstructorInit;
struct NodeTreeChange;
+#if QT_CONFIG(animation)
+class RequestFrameAnimation;
+#endif
class Q_3DCORE_PRIVATE_EXPORT QAspectManager : public QObject
{
Q_OBJECT
public:
- explicit QAspectManager(QObject *parent = nullptr);
+ explicit QAspectManager(QAspectEngine *parent = nullptr);
~QAspectManager();
void setRunMode(QAspectEngine::RunMode mode);
@@ -111,10 +115,15 @@ public:
QNode *lookupNode(QNodeId id) const;
QVector<QNode *> lookupNodes(const QVector<QNodeId> &ids) const;
+ int jobsInLastFrame() const { return m_jobsInLastFrame; }
+
private:
+#if !QT_CONFIG(animation)
bool event(QEvent *event) override;
+#endif
void requestNextFrame();
+ QAspectEngine *m_engine;
QVector<QAbstractAspect *> m_aspects;
QEntity *m_root;
QVariantMap m_data;
@@ -122,12 +131,15 @@ private:
QAbstractAspectJobManager *m_jobManager;
QChangeArbiter *m_changeArbiter;
QScopedPointer<QServiceLocator> m_serviceLocator;
- bool m_mainLoopRunning;
bool m_simulationLoopRunning;
QAspectEngine::RunMode m_driveMode;
QVector<NodeTreeChange> m_nodeTreeChanges;
NodePostConstructorInit* m_postConstructorInit;
+#if QT_CONFIG(animation)
+ RequestFrameAnimation *m_simulationAnimation;
+#endif
+ int m_jobsInLastFrame;
};
} // namespace Qt3DCore