aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/designer
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/designer
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/designer')
-rw-r--r--src/quick/designer/designersupport.cpp9
-rw-r--r--src/quick/designer/designersupport.h4
2 files changed, 7 insertions, 6 deletions
diff --git a/src/quick/designer/designersupport.cpp b/src/quick/designer/designersupport.cpp
index 82f796361b..a57c1ae569 100644
--- a/src/quick/designer/designersupport.cpp
+++ b/src/quick/designer/designersupport.cpp
@@ -65,10 +65,10 @@ DesignerSupport::DesignerSupport()
DesignerSupport::~DesignerSupport()
{
- QHash<QQuickItem*, QQuickShaderEffectTexture*>::iterator iterator;
+ QHash<QQuickItem*, QSGLayer*>::iterator iterator;
for (iterator = m_itemTextureHash.begin(); iterator != m_itemTextureHash.end(); ++iterator) {
- QQuickShaderEffectTexture *texture = iterator.value();
+ QSGLayer *texture = iterator.value();
QQuickItem *item = iterator.key();
QQuickItemPrivate::get(item)->derefFromEffectItem(true);
delete texture;
@@ -86,7 +86,8 @@ void DesignerSupport::refFromEffectItem(QQuickItem *referencedItem, bool hide)
Q_ASSERT(QQuickItemPrivate::get(referencedItem)->rootNode());
if (!m_itemTextureHash.contains(referencedItem)) {
- QQuickShaderEffectTexture *texture = new QQuickShaderEffectTexture(referencedItem);
+ QSGRenderContext *rc = QQuickWindowPrivate::get(referencedItem->window())->context;
+ QSGLayer *texture = rc->sceneGraphContext()->createLayer(rc);
texture->setLive(true);
texture->setItem(QQuickItemPrivate::get(referencedItem)->rootNode());
@@ -123,7 +124,7 @@ QImage DesignerSupport::renderImageForItem(QQuickItem *referencedItem, const QRe
return QImage();
}
- QQuickShaderEffectTexture *renderTexture = m_itemTextureHash.value(referencedItem);
+ QSGLayer *renderTexture = m_itemTextureHash.value(referencedItem);
Q_ASSERT(renderTexture);
if (renderTexture == 0)
diff --git a/src/quick/designer/designersupport.h b/src/quick/designer/designersupport.h
index 41458ae3d6..8dfb4af167 100644
--- a/src/quick/designer/designersupport.h
+++ b/src/quick/designer/designersupport.h
@@ -62,7 +62,7 @@
QT_BEGIN_NAMESPACE
class QQuickItem;
-class QQuickShaderEffectTexture;
+class QSGLayer;
class QImage;
class QTransform;
class QQmlContext;
@@ -154,7 +154,7 @@ public:
static void polishItems(QQuickWindow *window);
private:
- QHash<QQuickItem*, QQuickShaderEffectTexture*> m_itemTextureHash;
+ QHash<QQuickItem*, QSGLayer*> m_itemTextureHash;
};
QT_END_NAMESPACE