summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2/declarativesurface_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualizationqml2/declarativesurface_p.h')
-rw-r--r--src/datavisualizationqml2/declarativesurface_p.h16
1 files changed, 11 insertions, 5 deletions
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