summaryrefslogtreecommitdiffstats
path: root/src/render/backend/qrenderaspect.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire.ecortex@kdab.com>2014-11-12 07:35:57 +0100
committerSean Harmer <sean.harmer@kdab.com>2014-11-14 17:44:21 +0100
commitfa5b55ca17e233fdb5674c0652f60507af683975 (patch)
treeb0ae6b6e9f735ce4cccf4b1eebbf44f70ce8c8ae /src/render/backend/qrenderaspect.cpp
parent8bf14c405031baa650c687ffffa443ce772093e0 (diff)
Aspects: onInitialize now takes a QVariantMap
The QAspectEngine setSurface method was replaced by a setData method which takes a QVariantMap. This offers a way to specify different values that different aspects may be interested in. It is the responsibility of the Aspect subclass to check that the QVariantMap contains the necessary element when onInitialize is called. Change-Id: Ifcf5d2ee9e5fac7b0fe3c320c1415bcf55f1cf55 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend/qrenderaspect.cpp')
-rw-r--r--src/render/backend/qrenderaspect.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/render/backend/qrenderaspect.cpp b/src/render/backend/qrenderaspect.cpp
index 4d19a9126..087dce30c 100644
--- a/src/render/backend/qrenderaspect.cpp
+++ b/src/render/backend/qrenderaspect.cpp
@@ -212,12 +212,17 @@ void QRenderAspect::setRootEntity(QEntity *rootObject)
m_renderer->setSceneGraphRoot(m_renderer->renderNodesManager()->lookupResource(rootObject->uuid()));
}
-void QRenderAspect::onInitialize(QSurface *surface)
+void QRenderAspect::onInitialize(const QVariantMap &data)
{
m_renderer->setQRenderAspect(this);
m_renderer->createAllocators();
// setSurface is synchronized using the Renderer's mutex
- m_renderer->setSurface(surface);
+ QSurface *s = Q_NULLPTR;
+ const QVariant &v = data.value(QStringLiteral("surface"));
+ if (v.isValid())
+ s = v.value<QSurface *>();
+ if (s)
+ m_renderer->setSurface(s);
}
void QRenderAspect::onCleanup()