summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlvme.cpp
diff options
context:
space:
mode:
authorRhys Weatherley <rhys.weatherley@nokia.com>2009-08-21 03:16:51 (GMT)
committerRhys Weatherley <rhys.weatherley@nokia.com>2009-08-21 03:16:51 (GMT)
commit7eb52559f44de7666c31ea28ce557eaca9177e9d (patch)
tree757b9927465409fc6a005a50bfe57322ec0824b9 /src/declarative/qml/qmlvme.cpp
parent0fd79d739bf102e406a8042eb20add5b1e8ebb10 (diff)
downloadQt-7eb52559f44de7666c31ea28ce557eaca9177e9d.zip
Qt-7eb52559f44de7666c31ea28ce557eaca9177e9d.tar.gz
Qt-7eb52559f44de7666c31ea28ce557eaca9177e9d.tar.bz2
Make QVector3D a first-class builtin type within QML
Reviewed-by: Martin Jones
Diffstat (limited to 'src/declarative/qml/qmlvme.cpp')
-rw-r--r--src/declarative/qml/qmlvme.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp
index 79b1d89..7455eb4 100644
--- a/src/declarative/qml/qmlvme.cpp
+++ b/src/declarative/qml/qmlvme.cpp
@@ -439,6 +439,19 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt, QmlCompiledData
}
break;
+ case QmlInstruction::StoreVector3D:
+ {
+ QObject *target = stack.top();
+ void *a[1];
+ QVector3D p(floatData.at(instr.storeVector3D.valueIndex),
+ floatData.at(instr.storeVector3D.valueIndex+1),
+ floatData.at(instr.storeVector3D.valueIndex+2));
+ a[0] = (void *)&p;
+ QMetaObject::metacall(target, QMetaObject::WriteProperty,
+ instr.storeVector3D.propertyIndex, a);
+ }
+ break;
+
case QmlInstruction::StoreObject:
{
QObject *assignObj = stack.pop();