Changeset View
Changeset View
Standalone View
Standalone View
source/gui/Scripting/GuiScriptConversions.cpp
Show All 16 Lines | |||||
#include "precompiled.h" | #include "precompiled.h" | ||||
#include "gui/ObjectBases/IGUIObject.h" | #include "gui/ObjectBases/IGUIObject.h" | ||||
#include "gui/SettingTypes/CGUIColor.h" | #include "gui/SettingTypes/CGUIColor.h" | ||||
#include "gui/SettingTypes/CGUIList.h" | #include "gui/SettingTypes/CGUIList.h" | ||||
#include "gui/SettingTypes/CGUISeries.h" | #include "gui/SettingTypes/CGUISeries.h" | ||||
#include "gui/SettingTypes/CGUISize.h" | #include "gui/SettingTypes/CGUISize.h" | ||||
#include "gui/Scripting/JSInterface_GUIProxy.h" | |||||
#include "lib/external_libraries/libsdl.h" | #include "lib/external_libraries/libsdl.h" | ||||
#include "maths/Size2D.h" | #include "maths/Size2D.h" | ||||
#include "maths/Vector2D.h" | #include "maths/Vector2D.h" | ||||
#include "ps/Hotkey.h" | #include "ps/Hotkey.h" | ||||
#include "ps/CLogger.h" | #include "ps/CLogger.h" | ||||
#include "scriptinterface/ScriptConversions.h" | #include "scriptinterface/ScriptConversions.h" | ||||
#include <string> | #include <string> | ||||
▲ Show 20 Lines • Show All 98 Lines • ▼ Show 20 Lines | |||||
template<> void ScriptInterface::ToJSVal<IGUIObject*>(const ScriptRequest& UNUSED(rq), JS::MutableHandleValue ret, IGUIObject* const& val) | template<> void ScriptInterface::ToJSVal<IGUIObject*>(const ScriptRequest& UNUSED(rq), JS::MutableHandleValue ret, IGUIObject* const& val) | ||||
{ | { | ||||
if (val == nullptr) | if (val == nullptr) | ||||
ret.setNull(); | ret.setNull(); | ||||
else | else | ||||
ret.setObject(*val->GetJSObject()); | ret.setObject(*val->GetJSObject()); | ||||
} | } | ||||
template<> bool ScriptInterface::FromJSVal<IGUIObject*>(const ScriptRequest& rq, JS::HandleValue v, IGUIObject*& out) | |||||
{ | |||||
if (!v.isObject()) | |||||
{ | |||||
ScriptException::Raise(rq, "Value is not an IGUIObject."); | |||||
return false; | |||||
} | |||||
out = IGUIProxyObject::FromPrivateSlot<IGUIObject>(v.toObjectOrNull()); | |||||
if (!out) | |||||
{ | |||||
ScriptException::Raise(rq, "Value is not an IGUIObject."); | |||||
return false; | |||||
} | |||||
return true; | |||||
} | |||||
template<> void ScriptInterface::ToJSVal<CGUIString>(const ScriptRequest& rq, JS::MutableHandleValue ret, const CGUIString& val) | template<> void ScriptInterface::ToJSVal<CGUIString>(const ScriptRequest& rq, JS::MutableHandleValue ret, const CGUIString& val) | ||||
{ | { | ||||
ScriptInterface::ToJSVal(rq, ret, val.GetOriginalString()); | ScriptInterface::ToJSVal(rq, ret, val.GetOriginalString()); | ||||
} | } | ||||
template<> bool ScriptInterface::FromJSVal<CGUIString>(const ScriptRequest& rq, JS::HandleValue v, CGUIString& out) | template<> bool ScriptInterface::FromJSVal<CGUIString>(const ScriptRequest& rq, JS::HandleValue v, CGUIString& out) | ||||
{ | { | ||||
std::wstring val; | std::wstring val; | ||||
▲ Show 20 Lines • Show All 220 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator