History

Return ScriptableResource from prefetch

Zach Pomerantz committed 10 years ago

Commit 8ad8b5d1 parent 3c7fc953 files · +105 −27Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 3 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+16−0
@@ -270,6 +270,20 @@ static void resultHandlerFromScriptValue(const QScriptValue& value, AnimVariantR · 269 unmodified lines
270 assert(false);270 assert(false);
271}271}
272 272
273// Templated qScriptRegisterMetaType fails to compile with raw pointers
274using ScriptableResourceRawPtr = ScriptableResource*;
275
276static QScriptValue scriptableResourceToScriptValue(QScriptEngine* engine, const ScriptableResourceRawPtr& resource) {
277 auto object = engine->newQObject(
278 const_cast<ScriptableResourceRawPtr>(resource),
279 QScriptEngine::ScriptOwnership);
280 return object;
281}
282
283static void scriptableResourceFromScriptValue(const QScriptValue& value, ScriptableResourceRawPtr& resource) {
284 resource = static_cast<ScriptableResourceRawPtr>(value.toQObject());
285}
286
273void ScriptEngine::init() {287void ScriptEngine::init() {
274 if (_isInitialized) {288 if (_isInitialized) {
275 return; // only initialize once289 return; // only initialize once
@@ -332,6 +346,8 @@ void ScriptEngine::init() { · 56 unmodified lines
332 qScriptRegisterMetaType(this, animVarMapToScriptValue, animVarMapFromScriptValue);346 qScriptRegisterMetaType(this, animVarMapToScriptValue, animVarMapFromScriptValue);
333 qScriptRegisterMetaType(this, resultHandlerToScriptValue, resultHandlerFromScriptValue);347 qScriptRegisterMetaType(this, resultHandlerToScriptValue, resultHandlerFromScriptValue);
334 348
349 qScriptRegisterMetaType(this, scriptableResourceToScriptValue, scriptableResourceFromScriptValue);
350
335 // constants351 // constants
336 globalObject().setProperty("TREE_SCALE", newVariant(QVariant(TREE_SCALE)));352 globalObject().setProperty("TREE_SCALE", newVariant(QVariant(TREE_SCALE)));
337 353