CGUISeries and CGUIList specializations for ToJSVal / FromJSVal to make the JSI_IGUIObject case handling agnostic of implementation specifics, refs 4d367109c3
, 977a5c7ca2
, 2bae30c454
.
This was SVN commit r22539.
This commit is contained in:
parent
eec179a9a8
commit
26ae9d430a
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2017 Wildfire Games.
|
/* Copyright (C) 2019 Wildfire Games.
|
||||||
* This file is part of 0 A.D.
|
* This file is part of 0 A.D.
|
||||||
*
|
*
|
||||||
* 0 A.D. is free software: you can redistribute it and/or modify
|
* 0 A.D. is free software: you can redistribute it and/or modify
|
||||||
@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
#include "scriptinterface/ScriptConversions.h"
|
#include "scriptinterface/ScriptConversions.h"
|
||||||
|
|
||||||
|
#include "gui/CGUIList.h"
|
||||||
|
#include "gui/CGUISeries.h"
|
||||||
#include "gui/IGUIObject.h"
|
#include "gui/IGUIObject.h"
|
||||||
#include "lib/external_libraries/libsdl.h"
|
#include "lib/external_libraries/libsdl.h"
|
||||||
#include "ps/Hotkey.h"
|
#include "ps/Hotkey.h"
|
||||||
@ -138,8 +140,26 @@ template<> bool ScriptInterface::FromJSVal<CGUIString>(JSContext* cx, JS::Handle
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// define some vectors
|
|
||||||
JSVAL_VECTOR(CVector2D)
|
JSVAL_VECTOR(CVector2D)
|
||||||
JSVAL_VECTOR(std::vector<CVector2D>)
|
JSVAL_VECTOR(std::vector<CVector2D>)
|
||||||
JSVAL_VECTOR(CGUIString)
|
JSVAL_VECTOR(CGUIString)
|
||||||
|
|
||||||
|
template<> void ScriptInterface::ToJSVal<CGUIList>(JSContext* cx, JS::MutableHandleValue ret, const CGUIList& val)
|
||||||
|
{
|
||||||
|
ToJSVal(cx, ret, val.m_Items);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<> bool ScriptInterface::FromJSVal<CGUIList>(JSContext* cx, JS::HandleValue v, CGUIList& out)
|
||||||
|
{
|
||||||
|
return FromJSVal(cx, v, out.m_Items);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<> void ScriptInterface::ToJSVal<CGUISeries>(JSContext* cx, JS::MutableHandleValue ret, const CGUISeries& val)
|
||||||
|
{
|
||||||
|
ToJSVal(cx, ret, val.m_Series);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<> bool ScriptInterface::FromJSVal<CGUISeries>(JSContext* cx, JS::HandleValue v, CGUISeries& out)
|
||||||
|
{
|
||||||
|
return FromJSVal(cx, v, out.m_Series);
|
||||||
|
}
|
||||||
|
@ -269,7 +269,7 @@ bool JSI_IGUIObject::getProperty(JSContext* cx, JS::HandleObject obj, JS::Handle
|
|||||||
{
|
{
|
||||||
CGUIList value;
|
CGUIList value;
|
||||||
GUI<CGUIList>::GetSetting(e, propName, value);
|
GUI<CGUIList>::GetSetting(e, propName, value);
|
||||||
ScriptInterface::ToJSVal(cx, vp, value.m_Items);
|
ScriptInterface::ToJSVal(cx, vp, value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ bool JSI_IGUIObject::getProperty(JSContext* cx, JS::HandleObject obj, JS::Handle
|
|||||||
{
|
{
|
||||||
CGUISeries value;
|
CGUISeries value;
|
||||||
GUI<CGUISeries>::GetSetting(e, propName, value);
|
GUI<CGUISeries>::GetSetting(e, propName, value);
|
||||||
ScriptInterface::ToJSVal(cx, vp, value.m_Series);
|
ScriptInterface::ToJSVal(cx, vp, value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -547,7 +547,7 @@ bool JSI_IGUIObject::setProperty(JSContext* cx, JS::HandleObject obj, JS::Handle
|
|||||||
case GUIST_CGUIList:
|
case GUIST_CGUIList:
|
||||||
{
|
{
|
||||||
CGUIList list;
|
CGUIList list;
|
||||||
if (ScriptInterface::FromJSVal(cx, vp, list.m_Items))
|
if (ScriptInterface::FromJSVal(cx, vp, list))
|
||||||
GUI<CGUIList>::SetSetting(e, propName, list);
|
GUI<CGUIList>::SetSetting(e, propName, list);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -560,7 +560,7 @@ bool JSI_IGUIObject::setProperty(JSContext* cx, JS::HandleObject obj, JS::Handle
|
|||||||
case GUIST_CGUISeries:
|
case GUIST_CGUISeries:
|
||||||
{
|
{
|
||||||
CGUISeries series;
|
CGUISeries series;
|
||||||
if (ScriptInterface::FromJSVal(cx, vp, series.m_Series))
|
if (ScriptInterface::FromJSVal(cx, vp, series))
|
||||||
GUI<CGUISeries>::SetSetting(e, propName, series);
|
GUI<CGUISeries>::SetSetting(e, propName, series);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user