summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2/declarativerendernode_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualizationqml2/declarativerendernode_p.h')
-rw-r--r--src/datavisualizationqml2/declarativerendernode_p.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/datavisualizationqml2/declarativerendernode_p.h b/src/datavisualizationqml2/declarativerendernode_p.h
index d284813b..a4fd910c 100644
--- a/src/datavisualizationqml2/declarativerendernode_p.h
+++ b/src/datavisualizationqml2/declarativerendernode_p.h
@@ -37,16 +37,21 @@
#include <QtQuick/QSGGeometryNode>
#include <QtQuick/QSGTextureMaterial>
#include <QtQuick/QQuickWindow>
+#include <QtCore/QMutex>
+#include <QtCore/QSharedPointer>
+#include <QtCore/QObject>
QT_BEGIN_NAMESPACE_DATAVISUALIZATION
class Abstract3DController;
class AbstractDeclarative;
-class DeclarativeRenderNode : public QSGGeometryNode
+class DeclarativeRenderNode : public QObject, public QSGGeometryNode
{
+ Q_OBJECT
public:
- DeclarativeRenderNode(AbstractDeclarative *declarative);
+ DeclarativeRenderNode(AbstractDeclarative *declarative,
+ const QSharedPointer<QMutex> &nodeMutex);
~DeclarativeRenderNode();
void setSize(const QSize &size);
@@ -61,6 +66,9 @@ public:
void preprocess();
+public Q_SLOTS:
+ void handleControllerDestroyed();
+
private:
QSGTextureMaterial m_material;
QSGOpaqueTextureMaterial m_materialO;
@@ -76,6 +84,9 @@ private:
int m_samples;
bool m_dirtyFBO;
+
+ QSharedPointer<QMutex> m_nodeMutex;
+
};
QT_END_NAMESPACE_DATAVISUALIZATION