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