diff options
author | Paul Lemire <paul.lemire.ecortex@kdab.com> | 2014-12-04 12:01:12 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-12-12 14:17:41 +0100 |
commit | 4a78486d55cdfb6919c4c954090d995a2ca51425 (patch) | |
tree | 4cbbd660fb9e6b07f8e8d477c6c3bf18ce3d3574 /src/quick3d/imports/render/qt3dquick3drenderplugin.cpp | |
parent | 87401507ec111dc1b6bf252a8662d90d5caae523 (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.cpp | 11 |
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"); |