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.h40
1 files changed, 27 insertions, 13 deletions
diff --git a/src/datavisualizationqml2/declarativerendernode_p.h b/src/datavisualizationqml2/declarativerendernode_p.h
index 9fd652c2..a4fd910c 100644
--- a/src/datavisualizationqml2/declarativerendernode_p.h
+++ b/src/datavisualizationqml2/declarativerendernode_p.h
@@ -1,20 +1,23 @@
-/****************************************************************************
+/******************************************************************************
**
-** Copyright (C) 2015 The Qt Company Ltd
-** All rights reserved.
-** For any questions to The Qt Company, please use contact form at http://qt.io
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Data Visualization module.
**
-** Licensees holding valid commercial license for Qt may use this file in
-** accordance with the Qt License Agreement provided with the Software
-** or, alternatively, in accordance with the terms contained in a written
-** agreement between you and The Qt Company.
+** $QT_BEGIN_LICENSE:COMM$
**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.io
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
-****************************************************************************/
+** $QT_END_LICENSE$
+**
+******************************************************************************/
//
// W A R N I N G
@@ -34,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);
@@ -58,6 +66,9 @@ public:
void preprocess();
+public Q_SLOTS:
+ void handleControllerDestroyed();
+
private:
QSGTextureMaterial m_material;
QSGOpaqueTextureMaterial m_materialO;
@@ -73,6 +84,9 @@ private:
int m_samples;
bool m_dirtyFBO;
+
+ QSharedPointer<QMutex> m_nodeMutex;
+
};
QT_END_NAMESPACE_DATAVISUALIZATION