diff options
Diffstat (limited to 'src/datavisualizationqml2/declarativerendernode_p.h')
-rw-r--r-- | src/datavisualizationqml2/declarativerendernode_p.h | 40 |
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 |