summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2/abstractdeclarative_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualizationqml2/abstractdeclarative_p.h')
-rw-r--r--src/datavisualizationqml2/abstractdeclarative_p.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h
index 16effca0..83a1bbdb 100644
--- a/src/datavisualizationqml2/abstractdeclarative_p.h
+++ b/src/datavisualizationqml2/abstractdeclarative_p.h
@@ -42,17 +42,20 @@
QT_BEGIN_NAMESPACE_DATAVISUALIZATION
+class DeclarativeRenderNode;
+
class AbstractDeclarative : public QQuickItem
{
Q_OBJECT
Q_ENUMS(ShadowQuality)
+ Q_ENUMS(RenderingMode)
Q_FLAGS(SelectionFlag SelectionFlags)
Q_PROPERTY(SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged)
Q_PROPERTY(ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged)
Q_PROPERTY(Declarative3DScene* scene READ scene NOTIFY sceneChanged)
Q_PROPERTY(QAbstract3DInputHandler* inputHandler READ inputHandler WRITE setInputHandler NOTIFY inputHandlerChanged)
Q_PROPERTY(Q3DTheme* theme READ theme WRITE setTheme NOTIFY themeChanged)
- Q_PROPERTY(bool clearWindowBeforeRendering READ clearWindowBeforeRendering WRITE setClearWindowBeforeRendering NOTIFY clearWindowBeforeRenderingChanged)
+ Q_PROPERTY(RenderingMode renderingMode READ renderingMode WRITE setRenderingMode NOTIFY renderingModeChanged)
public:
enum SelectionFlag {
@@ -79,10 +82,19 @@ public:
ShadowQualitySoftHigh
};
+ enum RenderingMode {
+ DirectToBackground = 0,
+ DirectToBackground_NoClear,
+ Indirect_NoAA
+ };
+
public:
explicit AbstractDeclarative(QQuickItem *parent = 0);
virtual ~AbstractDeclarative();
+ virtual void setRenderingMode(RenderingMode mode);
+ virtual AbstractDeclarative::RenderingMode renderingMode() const;
+
virtual void setSelectionMode(SelectionFlags mode);
virtual AbstractDeclarative::SelectionFlags selectionMode() const;
@@ -99,9 +111,6 @@ public:
Q_INVOKABLE virtual void clearSelection();
- virtual void setClearWindowBeforeRendering(bool enable);
- virtual bool clearWindowBeforeRendering() const;
-
virtual void geometryChanged(const QRectF & newGeometry, const QRectF & oldGeometry);
void setSharedController(Abstract3DController *controller);
@@ -128,6 +137,7 @@ protected:
virtual void updateWindowParameters();
virtual void handleSelectionModeChange(QAbstract3DGraph::SelectionFlags mode);
virtual void handleShadowQualityChange(QAbstract3DGraph::ShadowQuality quality);
+ virtual QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *);
signals:
void selectionModeChanged(SelectionFlags mode);
@@ -135,12 +145,14 @@ signals:
void sceneChanged(Q3DScene *scene);
void inputHandlerChanged(QAbstract3DInputHandler *inputHandler);
void themeChanged(Q3DTheme *theme);
- void clearWindowBeforeRenderingChanged(bool enable);
+ void renderingModeChanged(RenderingMode mode);
private:
QPointer<Abstract3DController> m_controller;
QRectF m_cachedGeometry;
- bool m_clearWindowBeforeRendering;
+ AbstractDeclarative::RenderingMode m_renderMode;
+ DeclarativeRenderNode *m_node;
+ QSize m_initialisedSize;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractDeclarative::SelectionFlags)