Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/scripting/JSInterface_IGUIObject.cpp
Show First 20 Lines • Show All 222 Lines • ▼ Show 20 Lines | bool JSI_IGUIObject::getComputedSize(JSContext* cx, uint argc, JS::Value* vp) | ||||
JSAutoRequest rq(cx); | JSAutoRequest rq(cx); | ||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp); | JS::CallArgs args = JS::CallArgsFromVp(argc, vp); | ||||
IGUIObject* e = ScriptInterface::GetPrivate<IGUIObject>(cx, args, &JSI_IGUIObject::JSI_class); | IGUIObject* e = ScriptInterface::GetPrivate<IGUIObject>(cx, args, &JSI_IGUIObject::JSI_class); | ||||
if (!e) | if (!e) | ||||
return false; | return false; | ||||
e->UpdateCachedSize(); | e->UpdateCachedSize(); | ||||
CRect size = e->m_CachedActualSize; | ScriptInterface::ToJSVal(cx, args.rval(), e->m_CachedActualSize); | ||||
JS::RootedValue objVal(cx); | |||||
try | |||||
{ | |||||
ScriptInterface::GetScriptInterfaceAndCBData(cx)->pScriptInterface->CreateObject( | |||||
&objVal, | |||||
"left", size.left, | |||||
"right", size.right, | |||||
"top", size.top, | |||||
"bottom", size.bottom); | |||||
} | |||||
catch (PSERROR_Scripting_ConversionFailed&) | |||||
{ | |||||
debug_warn(L"Error creating size object!"); | |||||
return false; | |||||
} | |||||
args.rval().set(objVal); | |||||
return true; | return true; | ||||
} | } |
Wildfire Games · Phabricator