Showing the changes to libraries/script-engine/src/ScriptValueUtils.cpp (1 of 21 files). Show all
Unified · Split
| @@ -19,6 +19,7 @@ · 18 unmodified lines | ||
| 19 | 19 | #include <QtCore/QRect> |
| 20 | 20 | #include <QtCore/QUrl> |
| 21 | 21 | #include <QtCore/QUuid> |
| 22 | +#include <QtCore/QTimer> | |
| 22 | 23 | |
| 23 | 24 | #include <AACube.h> |
| 24 | 25 | #include <shared/MiniPromises.h> |
| @@ -68,6 +69,7 @@ void registerMetaTypes(ScriptEngine* engine) { · 43 unmodified lines | ||
| 68 | 69 | scriptRegisterMetaType<QRect, qRectToScriptValue, qRectFromScriptValue>(engine); |
| 69 | 70 | scriptRegisterMetaType<QUrl, qURLToScriptValue, qURLFromScriptValue>(engine); |
| 70 | 71 | scriptRegisterMetaType<QColor, qColorToScriptValue, qColorFromScriptValue>(engine); |
| 72 | + scriptRegisterMetaType<QTimer*, qTimerToScriptValue, qTimerFromScriptValue>(engine, "QTimer*"); | |
| 71 | 73 | |
| 72 | 74 | scriptRegisterMetaType<PickRay, pickRayToScriptValue, pickRayFromScriptValue>(engine); |
| 73 | 75 | scriptRegisterMetaType<Collision, collisionToScriptValue, collisionFromScriptValue>(engine); |
| @@ -665,6 +667,14 @@ bool aaCubeFromScriptValue(const ScriptValue& object, AACube& aaCube) { · 591 unmodified lines | ||
| 665 | 667 | return true; |
| 666 | 668 | } |
| 667 | 669 | |
| 670 | +ScriptValue qTimerToScriptValue(ScriptEngine* engine, QTimer* const &in) { | |
| 671 | + return engine->newQObject(in, ScriptEngine::QtOwnership); | |
| 672 | +} | |
| 673 | + | |
| 674 | +bool qTimerFromScriptValue(const ScriptValue& object, QTimer* &out) { | |
| 675 | + return (out = qobject_cast<QTimer*>(object.toQObject())) != nullptr; | |
| 676 | +} | |
| 677 | + | |
| 668 | 678 | bool qColorFromScriptValue(const ScriptValue& object, QColor& color) { |
| 669 | 679 | if (object.isNumber()) { |
| 670 | 680 | color.setRgb(object.toUInt32()); |
| @@ -834,8 +844,7 @@ ScriptValue meshToScriptValue(ScriptEngine* engine, MeshProxy* const& in) { · 163 unmodified lines | ||
| 834 | 844 | } |
| 835 | 845 | |
| 836 | 846 | bool meshFromScriptValue(const ScriptValue& value, MeshProxy*& out) { |
| 837 | − out = qobject_cast<MeshProxy*>(value.toQObject()); | |
| 838 | − return true; | |
| 847 | + return (out = qobject_cast<MeshProxy*>(value.toQObject())) != nullptr; | |
| 839 | 848 | } |
| 840 | 849 | |
| 841 | 850 | ScriptValue meshesToScriptValue(ScriptEngine* engine, const MeshProxyList& in) { |