Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/scripting/JSInterface_GUITypes.cpp
Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
bool JSI_GUISize::toString(JSContext* cx, uint argc, JS::Value* vp) | bool JSI_GUISize::toString(JSContext* cx, uint argc, JS::Value* vp) | ||||
{ | { | ||||
// JSAutoRequest not needed for the calls below | // JSAutoRequest not needed for the calls below | ||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp); | JS::CallArgs args = JS::CallArgsFromVp(argc, vp); | ||||
CStr buffer; | CStr buffer; | ||||
try | |||||
{ | |||||
ScriptInterface* pScriptInterface = ScriptInterface::GetScriptInterfaceAndCBData(cx)->pScriptInterface; | ScriptInterface* pScriptInterface = ScriptInterface::GetScriptInterfaceAndCBData(cx)->pScriptInterface; | ||||
double val, valr; | double val, valr; | ||||
#define SIDE(side) \ | #define SIDE(side) \ | ||||
pScriptInterface->GetProperty(args.thisv(), #side, val); \ | pScriptInterface->GetProperty(args.thisv(), #side, val); \ | ||||
pScriptInterface->GetProperty(args.thisv(), "r"#side, valr); \ | pScriptInterface->GetProperty(args.thisv(), "r"#side, valr); \ | ||||
buffer += ToPercentString(val, valr); | buffer += ToPercentString(val, valr); | ||||
SIDE(left); | SIDE(left); | ||||
buffer += " "; | buffer += " "; | ||||
SIDE(top); | SIDE(top); | ||||
buffer += " "; | buffer += " "; | ||||
SIDE(right); | SIDE(right); | ||||
buffer += " "; | buffer += " "; | ||||
SIDE(bottom); | SIDE(bottom); | ||||
#undef SIDE | #undef SIDE | ||||
} | |||||
catch (PSERROR_Scripting_ConversionFailed&) | |||||
{ | |||||
ScriptInterface::ToJSVal(cx, args.rval(), std::string("<Error converting value to numbers>")); | |||||
return true; | |||||
} | |||||
ScriptInterface::ToJSVal(cx, args.rval(), buffer); | ScriptInterface::ToJSVal(cx, args.rval(), buffer); | ||||
return true; | return true; | ||||
} | } | ||||
void JSI_GUITypes::init(ScriptInterface& scriptInterface) | void JSI_GUITypes::init(ScriptInterface& scriptInterface) | ||||
{ | { | ||||
scriptInterface.DefineCustomObjectType(&JSI_GUISize::JSI_class, JSI_GUISize::construct, 1, nullptr, JSI_GUISize::JSI_methods, NULL, NULL); | scriptInterface.DefineCustomObjectType(&JSI_GUISize::JSI_class, JSI_GUISize::construct, 1, nullptr, JSI_GUISize::JSI_methods, NULL, NULL); | ||||
} | } |
Wildfire Games · Phabricator