aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgadaptationlayer_p.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-08-11 13:21:11 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-08-23 07:56:30 +0200
commit15ee12508ec8663ae09ebfc61cc4f0725311bdec (patch)
tree7f788285afbde14f0d1eaab9065b21410c277ac5 /src/quick/scenegraph/qsgadaptationlayer_p.h
parent253e9257e1f586d1c1dfa585aa6f862d310cdec3 (diff)
Cleanup: Separate the sub-tree layering out of QtQuick into the scene graph
This basically renames QQuickShaderEffectTexture to QSGDefaultLayer and introduces QSGLayer as interface to be used. QQuickShaderEffectTexture is generic for the scene graph and has no QtQuick dependencies. The interface separation allows scene graph backends to customize layers. Change-Id: I9a7f37addaa4b80a34ff9a1456b0cb9b16d4e9f3 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Diffstat (limited to 'src/quick/scenegraph/qsgadaptationlayer_p.h')
-rw-r--r--src/quick/scenegraph/qsgadaptationlayer_p.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/quick/scenegraph/qsgadaptationlayer_p.h b/src/quick/scenegraph/qsgadaptationlayer_p.h
index cc998a9cef..2e17cfdf40 100644
--- a/src/quick/scenegraph/qsgadaptationlayer_p.h
+++ b/src/quick/scenegraph/qsgadaptationlayer_p.h
@@ -158,6 +158,37 @@ public:
virtual void accept(QSGNodeVisitorEx *visitor) { visitor->visit(this); visitor->visitChildren(this); visitor->endVisit(this); }
};
+class Q_QUICK_EXPORT QSGLayer : public QSGDynamicTexture
+{
+ Q_OBJECT
+public:
+ virtual void setItem(QSGNode *item) = 0;
+ virtual void setShaderSourceNode(QSGNode *node) = 0;
+ virtual void setRect(const QRectF &rect) = 0;
+ virtual void setSize(const QSize &size) = 0;
+ virtual void scheduleUpdate() = 0;
+ virtual QImage toImage() const = 0;
+ virtual void setLive(bool live) = 0;
+ virtual void setRecursive(bool recursive) = 0;
+ virtual void setFormat(GLenum format) = 0;
+ virtual void setHasMipmaps(bool mipmap) = 0;
+ virtual void setDevicePixelRatio(qreal ratio) = 0;
+ Q_SLOT virtual void markDirtyTexture() = 0;
+ Q_SLOT virtual void invalidated() = 0;
+
+ Q_SLOT void markDirtyTextureLater();
+
+Q_SIGNALS:
+ void updateRequested();
+ void scheduledUpdateCompleted();
+
+protected:
+ virtual void customEvent(QEvent *);
+
+private:
+ int markDirtyEventType();
+};
+
class Q_QUICK_PRIVATE_EXPORT QSGGlyphNode : public QSGVisitableNode
{
public: