summaryrefslogtreecommitdiffstats
path: root/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire.ecortex@kdab.com>2014-12-04 12:01:12 +0100
committerSean Harmer <sean.harmer@kdab.com>2014-12-12 14:17:41 +0100
commit4a78486d55cdfb6919c4c954090d995a2ca51425 (patch)
tree4cbbd660fb9e6b07f8e8d477c6c3bf18ce3d3574 /src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
parent87401507ec111dc1b6bf252a8662d90d5caae523 (diff)
Quick3DShaderDataPropertyReader: converts Quick3DShaderDataArray to QVariantList
The renderer only cares about QVariantList to detect arrays, the property reader takes care of converting the values of the Quick3DShaderDataArray to that. Change-Id: I53fe2cf46febe7a1fec9be584c50ca505490d672 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/quick3d/imports/render/qt3dquick3drenderplugin.cpp')
-rw-r--r--src/quick3d/imports/render/qt3dquick3drenderplugin.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
index a86f1f3ac..27476bde0 100644
--- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
+++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
@@ -119,10 +119,21 @@ QVariantList QJSValueToVariantListConverter(const QJSValue &jsValue)
return values;
}
+QVariantList Quick3DShaderDataArrayToVariantListConverter(Qt3D::Render::Quick::Quick3DShaderDataArray *array)
+{
+ QList<Qt3D::Render::Quick::Quick3DShaderData *> arrayValues = array->values();
+ QVariantList values;
+ values.reserve(arrayValues.size());
+ Q_FOREACH (Qt3D::Render::Quick::Quick3DShaderData *data, arrayValues)
+ values.append(QVariant::fromValue(data));
+ return values;
+}
+
void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri)
{
// Converters from QJSValue
QMetaType::registerConverter<QJSValue, QVariantList>(QJSValueToVariantListConverter);
+ QMetaType::registerConverter<Qt3D::Render::Quick::Quick3DShaderDataArray*, QVariantList>(Quick3DShaderDataArrayToVariantListConverter);
// @uri Qt3D.Render
qmlRegisterUncreatableType<Qt3D::Render::QAbstractSceneLoader>(uri, 2, 0, "QAbstractSceneLoader", "QAbstractScene is abstract");