summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-09-25 14:25:22 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-09-26 07:42:37 +0300
commitbb0e49c6bc7e4e650fc84366ff51ee47c8e5c530 (patch)
tree9d171a1dc51cd690e7edcd4cf7e4da442dc01ba2
parentd44ecd0b27e591429893e4b870713e245a3c46f9 (diff)
Implement ColorGradient for qml
Reimplementation of qml's Gradient type, which unfortunately cannot be used by 3rd party modules, as the implementation classes are private. Task-number: QTRD-2328 Change-Id: Ib984b07f6771d26a9e37fd5f78016b7ba0bd7ce0 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
-rw-r--r--examples/qmlsurface/qml/qmlsurface/main.qml15
-rw-r--r--src/datavisualization/data/qsurfacedataproxy.cpp10
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc73
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc2
-rw-r--r--src/datavisualizationqml2/colorgradient.cpp75
-rw-r--r--src/datavisualizationqml2/colorgradient_p.h90
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2.pro6
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2_plugin.cpp6
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2_plugin.h53
-rw-r--r--src/datavisualizationqml2/declarativesurface.cpp55
-rw-r--r--src/datavisualizationqml2/declarativesurface_p.h16
11 files changed, 347 insertions, 54 deletions
diff --git a/examples/qmlsurface/qml/qmlsurface/main.qml b/examples/qmlsurface/qml/qmlsurface/main.qml
index 758b0346..2e192197 100644
--- a/examples/qmlsurface/qml/qmlsurface/main.qml
+++ b/examples/qmlsurface/qml/qmlsurface/main.qml
@@ -37,10 +37,11 @@ Item {
height: mainview.height
anchors.right: mainview.right;
- Gradient {
+ ColorGradient {
id: surfaceGradient
- GradientStop { position: 0.0; color: "darkslategray" }
- GradientStop { position: 1.0; color: "peru" }
+ ColorGradientStop { position: 0.0; color: "darkslategray" }
+ ColorGradientStop { id: middleGradient; position: 0.55; color: "peru" }
+ ColorGradientStop { position: 1.0; color: "red" }
}
Surface3D {
@@ -66,11 +67,7 @@ Item {
axisY.segmentCount: 5
axisY.subSegmentCount: 2
axisY.labelFormat: "%i"
- //gradient: surfaceGradient
- Component.onCompleted: {
- setGradientColorAt(0, "darkslategray");
- setGradientColorAt(1, "peru");
- }
+ gradient: surfaceGradient
}
}
@@ -147,10 +144,12 @@ Item {
if (surfaceplot.dataProxy === surfaceData.heightProxy) {
surfaceplot.axisY.max = 500.0
surfaceplot.dataProxy = surfaceData.proxy
+ middleGradient.position = 0.25
text = "Switch to Height Map Proxy"
} else {
surfaceplot.axisY.max = 250.0
surfaceplot.dataProxy = surfaceData.heightProxy
+ middleGradient.position = 0.55
text = "Switch to Item Model Proxy"
}
}
diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp
index bd3688dc..1a2e29ce 100644
--- a/src/datavisualization/data/qsurfacedataproxy.cpp
+++ b/src/datavisualization/data/qsurfacedataproxy.cpp
@@ -42,6 +42,8 @@ const qreal defaultMaxValue = 10.0;
* \note Surfaces with less than two rows or columns are not considered valid surfaces and will
* not get rendered.
*
+ * \note The way row and column values are handled is subject to change after technology preview.
+ *
* QSurfaceDataProxy supports the following format tags for QAbstractDataProxy::setItemLabelFormat():
* \table
* \row
@@ -86,6 +88,8 @@ const qreal defaultMaxValue = 10.0;
*
* The minimum value of the range in rows. For instance if function z value varies between -8.0
* and 8.0 set this property to -8.0.
+ *
+ * \note The way row and column values are handled is subject to change after technology preview.
*/
/*!
@@ -93,6 +97,8 @@ const qreal defaultMaxValue = 10.0;
*
* The maximum value of the range in rows. For instance if function z value varies between -8.0
* and 8.0 set this property to 8.0.
+ *
+ * \note The way row and column values are handled is subject to change after technology preview.
*/
/*!
@@ -100,6 +106,8 @@ const qreal defaultMaxValue = 10.0;
*
* The minimum value of the range in columns. For instance if function x value varies between -8.0
* and 8.0 set this property to -8.0.
+ *
+ * \note The way row and column values are handled is subject to change after technology preview.
*/
/*!
@@ -107,6 +115,8 @@ const qreal defaultMaxValue = 10.0;
*
* The maximum value of the range in columns. For instance if function x value varies between -8.0
* and 8.0 set this property to 8.0.
+ *
+ * \note The way row and column values are handled is subject to change after technology preview.
*/
/*!
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc
new file mode 100644
index 00000000..98b29c87
--- /dev/null
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the QtDataVisualization module.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+**
+****************************************************************************/
+
+/*!
+ \qmltype ColorGradientStop
+
+ Defines the color at a position in a ColorGradient.
+
+ \sa ColorGradient
+*/
+
+/*!
+ \qmlproperty real ColorGradientStop::position
+
+ The position property describes the position of this gradient stop.
+
+ The default position is 0.0.
+
+ \sa ColorGradient
+*/
+
+/*!
+ \qmlproperty color ColorGradientStop::color
+
+ The color property describes the color color of this gradient stop.
+
+ The default color is black.
+
+ \sa ColorGradient
+*/
+
+/*!
+ \qmltype ColorGradient
+
+ A gradient is defined by two or more colors, which will be blended seamlessly.
+
+ The colors are specified as a set of ColorGradientStop child items, each of
+ which defines a position on the gradient from 0.0 to 1.0 and a color.
+ The position of each ColorGradientStop is defined by setting its
+ \l{ColorGradientStop::}{position} property; its color is defined using its
+ \l{ColorGradientStop::}{color} property.
+
+ A gradient without any gradient stops falls back to QLinearGradient default,
+ which is black at 0.0 and white at 1.0.
+
+ \sa ColorGradientStop
+*/
+
+/*!
+ \qmlproperty list<ColorGradientStop> ColorGradient::stops
+ \default
+
+ This property holds the gradient stops describing the gradient.
+
+ By default, this property contains an empty list.
+
+ To set the gradient stops, define them as children of the ColorGradient.
+*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
index 21c3f474..31d05844 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
@@ -82,6 +82,6 @@
*/
/*!
- \qmlproperty var Surface3D::gradient
+ \qmlproperty ColorGradient Surface3D::gradient
The current surface gradient. Setting this property replaces the previous gradient.
*/
diff --git a/src/datavisualizationqml2/colorgradient.cpp b/src/datavisualizationqml2/colorgradient.cpp
new file mode 100644
index 00000000..43efbd1c
--- /dev/null
+++ b/src/datavisualizationqml2/colorgradient.cpp
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the QtDataVisualization module.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+**
+****************************************************************************/
+
+#include "colorgradient_p.h"
+
+QT_DATAVISUALIZATION_BEGIN_NAMESPACE
+
+ColorGradientStop::ColorGradientStop(QObject *parent)
+ : QObject(parent)
+{
+}
+
+qreal ColorGradientStop::position() const
+{
+ return m_position;
+}
+
+void ColorGradientStop::setPosition(qreal position)
+{
+ m_position = position;
+ updateGradient();
+}
+
+QColor ColorGradientStop::color() const
+{
+ return m_color;
+}
+
+void ColorGradientStop::setColor(const QColor &color)
+{
+ m_color = color;
+ updateGradient();
+}
+
+void ColorGradientStop::updateGradient()
+{
+ if (ColorGradient *grad = qobject_cast<ColorGradient*>(parent()))
+ grad->doUpdate();
+}
+
+ColorGradient::ColorGradient(QObject *parent)
+: QObject(parent)
+{
+}
+
+ColorGradient::~ColorGradient()
+{
+}
+
+QQmlListProperty<ColorGradientStop> ColorGradient::stops()
+{
+ return QQmlListProperty<ColorGradientStop>(this, m_stops);
+}
+
+void ColorGradient::doUpdate()
+{
+ emit updated();
+}
+
+QT_DATAVISUALIZATION_END_NAMESPACE
diff --git a/src/datavisualizationqml2/colorgradient_p.h b/src/datavisualizationqml2/colorgradient_p.h
new file mode 100644
index 00000000..37d3e407
--- /dev/null
+++ b/src/datavisualizationqml2/colorgradient_p.h
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the QtDataVisualization module.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the QtDataVisualization API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef COLORGRADIENT_P_H
+#define COLORGRADIENT_P_H
+
+#include "datavisualizationglobal_p.h"
+#include <QColor>
+#include <QQmlListProperty>
+
+QT_DATAVISUALIZATION_BEGIN_NAMESPACE
+
+class ColorGradientStop : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(qreal position READ position WRITE setPosition)
+ Q_PROPERTY(QColor color READ color WRITE setColor)
+
+public:
+ ColorGradientStop(QObject *parent = 0);
+
+ qreal position() const;
+ void setPosition(qreal position);
+
+ QColor color() const;
+ void setColor(const QColor &color);
+
+private:
+ void updateGradient();
+
+private:
+ qreal m_position;
+ QColor m_color;
+};
+
+class ColorGradient : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QQmlListProperty<ColorGradientStop> stops READ stops)
+ Q_CLASSINFO("DefaultProperty", "stops")
+
+public:
+ ColorGradient(QObject *parent = 0);
+ ~ColorGradient();
+
+ QQmlListProperty<ColorGradientStop> stops();
+
+Q_SIGNALS:
+ void updated();
+
+private:
+ void doUpdate();
+
+private:
+ QList<ColorGradientStop *> m_stops;
+
+ friend class ColorGradientStop;
+ friend class DeclarativeSurface;
+};
+
+QT_DATAVISUALIZATION_END_NAMESPACE
+
+#endif
diff --git a/src/datavisualizationqml2/datavisualizationqml2.pro b/src/datavisualizationqml2/datavisualizationqml2.pro
index 68e267ed..d5191c62 100644
--- a/src/datavisualizationqml2/datavisualizationqml2.pro
+++ b/src/datavisualizationqml2/datavisualizationqml2.pro
@@ -24,7 +24,8 @@ SOURCES += \
declarativescatterrenderer.cpp \
declarativesurface.cpp \
declarativesurfacerenderer.cpp \
- abstractdeclarative.cpp
+ abstractdeclarative.cpp \
+ colorgradient.cpp
HEADERS += \
datavisualizationqml2_plugin.h \
@@ -34,7 +35,8 @@ HEADERS += \
declarativescatterrenderer_p.h \
declarativesurface_p.h \
declarativesurfacerenderer_p.h \
- abstractdeclarative_p.h
+ abstractdeclarative_p.h \
+ colorgradient_p.h
OTHER_FILES = qmldir
diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
index f5642831..10fc7f4c 100644
--- a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
+++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
@@ -25,8 +25,6 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
void Datavis3Dqml2Plugin::registerTypes(const char *uri)
{
// @uri com.digia.QtDataVisualization
- qmlRegisterUncreatableType<QLinearGradient>(uri, 1, 0, "LinearGradient",
- QLatin1String("Trying to create uncreatable: LinearGradient."));
qmlRegisterUncreatableType<const QAbstractItemModel>(uri, 1, 0, "AbstractItemModel",
QLatin1String("Trying to create uncreatable: AbstractItemModel."));
qmlRegisterUncreatableType<QDataVis>(uri, 1, 0, "DataVis",
@@ -59,6 +57,10 @@ void Datavis3Dqml2Plugin::registerTypes(const char *uri)
qmlRegisterType<QItemModelScatterDataProxy>(uri, 1, 0, "ItemModelScatterDataProxy");
qmlRegisterType<QItemModelSurfaceDataProxy>(uri, 1, 0, "ItemModelSurfaceDataProxy");
qmlRegisterType<QHeightMapSurfaceDataProxy>(uri, 1, 0, "HeightMapSurfaceDataProxy");
+
+ qmlRegisterType<ColorGradientStop>(uri, 1, 0, "ColorGradientStop");
+ qmlRegisterType<ColorGradient>(uri, 1, 0, "ColorGradient");
+
}
QT_DATAVISUALIZATION_END_NAMESPACE
diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.h b/src/datavisualizationqml2/datavisualizationqml2_plugin.h
index 31066c47..66b5cb61 100644
--- a/src/datavisualizationqml2/datavisualizationqml2_plugin.h
+++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.h
@@ -37,32 +37,33 @@
QT_DATAVISUALIZATION_USE_NAMESPACE
-Q_DECLARE_METATYPE(AbstractDeclarative *)
-Q_DECLARE_METATYPE(DeclarativeBars *)
-Q_DECLARE_METATYPE(DeclarativeScatter *)
-Q_DECLARE_METATYPE(DeclarativeSurface *)
-
-Q_DECLARE_METATYPE(QItemModelBarDataMapping *)
-Q_DECLARE_METATYPE(QItemModelScatterDataMapping *)
-Q_DECLARE_METATYPE(QItemModelSurfaceDataMapping *)
-
-Q_DECLARE_METATYPE(const QAbstractItemModel *)
-Q_DECLARE_METATYPE(QLinearGradient)
-
-Q_DECLARE_METATYPE(QDataVis *)
-
-Q_DECLARE_METATYPE(Q3DAbstractAxis *)
-Q_DECLARE_METATYPE(Q3DCategoryAxis *)
-Q_DECLARE_METATYPE(Q3DValueAxis *)
-
-Q_DECLARE_METATYPE(QAbstractDataProxy *)
-Q_DECLARE_METATYPE(QBarDataProxy *)
-Q_DECLARE_METATYPE(QItemModelBarDataProxy *)
-Q_DECLARE_METATYPE(QScatterDataProxy *)
-Q_DECLARE_METATYPE(QItemModelScatterDataProxy *)
-Q_DECLARE_METATYPE(QSurfaceDataProxy *)
-Q_DECLARE_METATYPE(QItemModelSurfaceDataProxy *)
-Q_DECLARE_METATYPE(QHeightMapSurfaceDataProxy *)
+QML_DECLARE_TYPE(AbstractDeclarative)
+QML_DECLARE_TYPE(DeclarativeBars)
+QML_DECLARE_TYPE(DeclarativeScatter)
+QML_DECLARE_TYPE(DeclarativeSurface)
+
+QML_DECLARE_TYPE(QItemModelBarDataMapping)
+QML_DECLARE_TYPE(QItemModelScatterDataMapping)
+QML_DECLARE_TYPE(QItemModelSurfaceDataMapping)
+
+QML_DECLARE_TYPE(const QAbstractItemModel)
+QML_DECLARE_TYPE(QDataVis)
+
+QML_DECLARE_TYPE(Q3DAbstractAxis)
+QML_DECLARE_TYPE(Q3DCategoryAxis)
+QML_DECLARE_TYPE(Q3DValueAxis)
+
+QML_DECLARE_TYPE(QAbstractDataProxy)
+QML_DECLARE_TYPE(QBarDataProxy)
+QML_DECLARE_TYPE(QItemModelBarDataProxy)
+QML_DECLARE_TYPE(QScatterDataProxy)
+QML_DECLARE_TYPE(QItemModelScatterDataProxy)
+QML_DECLARE_TYPE(QSurfaceDataProxy)
+QML_DECLARE_TYPE(QItemModelSurfaceDataProxy)
+QML_DECLARE_TYPE(QHeightMapSurfaceDataProxy)
+
+QML_DECLARE_TYPE(ColorGradientStop)
+QML_DECLARE_TYPE(ColorGradient)
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
diff --git a/src/datavisualizationqml2/declarativesurface.cpp b/src/datavisualizationqml2/declarativesurface.cpp
index f74472f5..8375fa53 100644
--- a/src/datavisualizationqml2/declarativesurface.cpp
+++ b/src/datavisualizationqml2/declarativesurface.cpp
@@ -27,7 +27,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
DeclarativeSurface::DeclarativeSurface(QQuickItem *parent)
: AbstractDeclarative(parent),
m_shared(0),
- m_initialisedSize(0, 0)
+ m_initialisedSize(0, 0),
+ m_gradient(0)
{
setFlags(QQuickItem::ItemHasContents);
setAcceptedMouseButtons(Qt::AllButtons);
@@ -49,6 +50,12 @@ DeclarativeSurface::~DeclarativeSurface()
delete m_shared;
}
+void DeclarativeSurface::handleGradientUpdate()
+{
+ if (m_gradient)
+ setControllerGradient(*m_gradient);
+}
+
QSGNode *DeclarativeSurface::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *)
{
// If old node exists and has right size, reuse it.
@@ -72,11 +79,6 @@ QSGNode *DeclarativeSurface::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDa
return node;
}
-void DeclarativeSurface::setGradientColorAt(qreal pos, const QColor &color)
-{
- m_shared->setGradientColorAt(pos, color);
-}
-
void DeclarativeSurface::setDataProxy(QSurfaceDataProxy *dataProxy)
{
m_shared->setActiveDataProxy(dataProxy);
@@ -137,14 +139,47 @@ bool DeclarativeSurface::isSurfaceGridEnabled() const
return m_shared->surfaceGrid();
}
-void DeclarativeSurface::setGradient(const QLinearGradient &gradient)
+void DeclarativeSurface::setGradient(ColorGradient *gradient)
{
- m_shared->setGradient(gradient);
+ // connect new / disconnect old
+ if (gradient != m_gradient) {
+ if (m_gradient)
+ QObject::disconnect(m_gradient, 0, this, 0);
+
+ m_gradient = gradient;
+
+ if (m_gradient) {
+ QObject::connect(m_gradient, &ColorGradient::updated, this,
+ &DeclarativeSurface::handleGradientUpdate);
+ }
+ }
+
+ if (m_gradient)
+ setControllerGradient(*m_gradient);
+}
+
+ColorGradient *DeclarativeSurface::gradient() const
+{
+
+ return m_gradient;
}
-QLinearGradient DeclarativeSurface::gradient() const
+void DeclarativeSurface::setControllerGradient(const ColorGradient &gradient)
{
- return m_shared->gradient();
+ QLinearGradient newGradient;
+ QGradientStops stops;
+ QList<ColorGradientStop *> qmlstops = gradient.m_stops;
+
+ // Get sorted gradient stops
+ for (int i = 0; i < qmlstops.size(); i++) {
+ int j = 0;
+ while (j < stops.size() && stops.at(j).first < qmlstops[i]->position())
+ j++;
+ stops.insert(j, QGradientStop(qmlstops.at(i)->position(), qmlstops.at(i)->color()));
+ }
+
+ newGradient.setStops(stops);
+ m_shared->setGradient(newGradient);
}
QT_DATAVISUALIZATION_END_NAMESPACE
diff --git a/src/datavisualizationqml2/declarativesurface_p.h b/src/datavisualizationqml2/declarativesurface_p.h
index 29db1a44..6ba52146 100644
--- a/src/datavisualizationqml2/declarativesurface_p.h
+++ b/src/datavisualizationqml2/declarativesurface_p.h
@@ -35,6 +35,7 @@
#include "declarativesurface_p.h"
#include "q3dvalueaxis.h"
#include "qsurfacedataproxy.h"
+#include "colorgradient_p.h"
#include <QAbstractItemModel>
#include <QQuickItem>
@@ -52,14 +53,12 @@ class DeclarativeSurface : public AbstractDeclarative
Q_PROPERTY(Q3DValueAxis *axisZ READ axisZ WRITE setAxisZ)
Q_PROPERTY(bool smoothSurfaceEnabled READ isSmoothSurfaceEnabled WRITE setSmoothSurfaceEnabled)
Q_PROPERTY(bool surfaceGridEnabled READ isSurfaceGridEnabled WRITE setSurfaceGridEnabled)
- Q_PROPERTY(QLinearGradient gradient READ gradient WRITE setGradient)
+ Q_PROPERTY(ColorGradient *gradient READ gradient WRITE setGradient)
public:
explicit DeclarativeSurface(QQuickItem *parent = 0);
~DeclarativeSurface();
- Q_INVOKABLE void setGradientColorAt(qreal pos, const QColor &color);
-
QSurfaceDataProxy *dataProxy() const;
void setDataProxy(QSurfaceDataProxy *dataProxy);
@@ -76,14 +75,21 @@ public:
void setSurfaceGridEnabled(bool enabled);
bool isSurfaceGridEnabled() const;
- void setGradient(const QLinearGradient &gradient);
- QLinearGradient gradient() const;
+ void setGradient(ColorGradient *gradient);
+ ColorGradient *gradient() const;
+
protected:
+ void handleGradientUpdate();
+
QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *);
private:
Surface3DController *m_shared;
+
+ void setControllerGradient(const ColorGradient &gradient);
+
QSize m_initialisedSize;
+ ColorGradient *m_gradient; // Not owned
};
QT_DATAVISUALIZATION_END_NAMESPACE