2136 lines
64 KiB
C++
2136 lines
64 KiB
C++
//-------------------------------------------------------------------------------------------------
|
|
// Author: Márcio Martins
|
|
//
|
|
// Purpose:
|
|
// - Make UI functions available from script as UI:Func(param)
|
|
//
|
|
// History:
|
|
// - [3/7/2003] created the file
|
|
//
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#include "StdAfx.h"
|
|
#include "ScriptObjectUI.h"
|
|
#include "UIStatic.h"
|
|
#include "UIButton.h"
|
|
#include "UIEditBox.h"
|
|
#include "UIScrollBar.h"
|
|
#include "UIListView.h"
|
|
#include "UICheckBox.h"
|
|
#include "UIComboBox.h"
|
|
#include "UIVideoPanel.h"
|
|
|
|
#include "UIScreen.h"
|
|
|
|
|
|
|
|
_DECLARE_SCRIPTABLEEX(CScriptObjectUI);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::Create(CUISystem *pUISystem)
|
|
{
|
|
m_pUISystem = pUISystem;
|
|
m_pLog = pUISystem->GetISystem()->GetILog();
|
|
|
|
IScriptSystem *pScriptSystem = pUISystem->GetIScriptSystem();
|
|
|
|
pScriptSystem->SetGlobalToNull("UI");
|
|
|
|
InitGlobal(pScriptSystem, "UI", this);
|
|
|
|
return 1;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetScriptFunctionPtrs()
|
|
{
|
|
m_hCanRenderGame = m_pScriptSystem->GetFunctionPtr("UI", "CanRenderGame");
|
|
m_hCanSwitch = m_pScriptSystem->GetFunctionPtr("UI", "CanSwitch");
|
|
m_hOnSwitch = m_pScriptSystem->GetFunctionPtr("UI", "OnSwitch");
|
|
m_hOnInit = m_pScriptSystem->GetFunctionPtr("UI", "OnInit");
|
|
m_hOnRelease = m_pScriptSystem->GetFunctionPtr("UI", "OnRelease");
|
|
m_hOnUpdate = m_pScriptSystem->GetFunctionPtr("UI", "OnUpdate");
|
|
m_hOnDrawBackground = m_pScriptSystem->GetFunctionPtr("UI", "OnDrawBackground");
|
|
m_hOnDrawMouseCursor= m_pScriptSystem->GetFunctionPtr("UI", "OnDrawMouseCursor");
|
|
m_hOnIdle = m_pScriptSystem->GetFunctionPtr("UI", "OnIdle");
|
|
|
|
return 1;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ReleaseScriptFunctionPtrs()
|
|
{
|
|
m_pScriptSystem->ReleaseFunc(m_hCanRenderGame);
|
|
m_hCanRenderGame = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hCanSwitch);
|
|
m_hCanSwitch = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hOnSwitch);
|
|
m_hOnSwitch = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hOnInit);
|
|
m_hOnInit = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hOnRelease);
|
|
m_hOnRelease = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hOnUpdate);
|
|
m_hOnUpdate = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hOnDrawBackground);
|
|
m_hOnDrawBackground = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hOnDrawMouseCursor);
|
|
m_hOnDrawMouseCursor = 0;
|
|
|
|
m_pScriptSystem->ReleaseFunc(m_hOnIdle);
|
|
m_hOnIdle = 0;
|
|
|
|
return 1;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
void CScriptObjectUI::InitializeTemplate(IScriptSystem *pScriptSystem)
|
|
{
|
|
_ScriptableEx<CScriptObjectUI>::InitializeTemplate(pScriptSystem);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, Release);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, Reload);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetWidget);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetWidgetCount);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ShowWidget);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, HideWidget);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, IsWidgetVisible);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, EnableWidget);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, DisableWidget);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, IsWidgetEnabled);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SendMessage);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, BroadcastMessage);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetBackground);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetBackground);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetBackgroundColor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetBackgroundColor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ShowBackground);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, HideBackground);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, IsBackgroundVisible);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetMouseXY);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetMouseXY);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetMouseCursor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetMouseCursor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetMouseCursorColor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetMouseCursorColor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetMouseCursorSize);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetMouseCursorWidth);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetMouseCursorHeight);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ShowMouseCursor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, HideMouseCursor);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, IsMouseCursorVisible);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipColor);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipColor);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipBorderColor);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipBorderColor);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipBorderSize);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipBorderSize);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipBorderStyle);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipBorderStyle);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipFontName);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipFontName);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipFontEffect);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipFontEffect);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipFontColor);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipFontColor);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetToolTipFontSize);\
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetToolTipFontSize);\
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, CaptureMouse);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ReleaseMouse);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractRed);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractGreen);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractBlue);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractAlpha);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractLeft);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractTop);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractWidth);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ExtractHeight);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetMouseX);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetMouseY);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetTopMostWidget);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetTopMostWidget);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetFocus);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetFocus);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, SetFocusScreen);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetFocusScreen);
|
|
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, FirstTabStop);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, LastTabStop);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, NextTabStop);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, PrevTabStop);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, CreateObjectFromTable);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, CreateScreenFromTable);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetScreenCount);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetScreen);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ActivateScreen);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, DeactivateScreen);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, IsScreenActive);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, GetActiveScreenCount);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, DeactivateAllScreens);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, ActivateAllScreens);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, IsScreenActive);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, Disable);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, Enable);
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, IsEnabled);
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
REGISTER_SCRIPTOBJECT_MEMBER(pScriptSystem, CScriptObjectUI, StopAllVideo);
|
|
|
|
// intialize the script constants
|
|
InitializeConstants(pScriptSystem);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
void CScriptObjectUI::InitializeConstants(IScriptSystem *pScriptSystem)
|
|
{
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIFLAG_VISIBLE);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIFLAG_ENABLED);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIFLAG_MOVEABLE);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIFLAG_CANHAVEFOCUS);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIFLAG_CANCHANGEZ);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIFLAG_DEFAULT);
|
|
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTYLE_TRANSPARENT);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTYLE_SHADOWED);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTYLE_MULTILINE);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTYLE_WORDWRAP);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTYLE_MULTISELECTION);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTYLE_PASSWORD);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTYLE_DEFAULT);
|
|
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIALIGN_CENTER);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIALIGN_LEFT);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIALIGN_RIGHT);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIALIGN_MIDDLE);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIALIGN_TOP);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIALIGN_BOTTOM);
|
|
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIBORDERSTYLE_NONE);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIBORDERSTYLE_FLAT);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIBORDERSTYLE_RAISED);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIBORDERSTYLE_SUNKEN);
|
|
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTATE_UP);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTATE_DOWN);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTATE_OVER);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISTATE_CHECKED);
|
|
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISORT_ASCENDING);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISORT_DESCENDING);
|
|
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIBLEND_ADDITIVE);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UIBLEND_OVERLAY);
|
|
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISCROLLBARTYPE_AUTOMATIC);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISCROLLBARTYPE_HORIZONTAL);
|
|
REGISTER_SCRIPT_CONSTANT(pScriptSystem, UISCROLLBARTYPE_VERTICAL);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::Release()
|
|
{
|
|
m_pUISystem->Release();
|
|
m_pUISystem =0 ;
|
|
m_pLog = 0;
|
|
|
|
return 1;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
// Callback functions
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::OnSwitch(bool bIn)
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hOnSwitch;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int iResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->PushFuncParam(bIn);
|
|
m_pScriptSystem->EndCall(iResult);
|
|
|
|
return iResult;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::CanRenderGame()
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hCanRenderGame;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
bool bResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->EndCall(bResult);
|
|
|
|
return (bResult ? 1 : 0);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::CanSwitch(bool bIn)
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hCanSwitch;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
bool bResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->PushFuncParam(bIn);
|
|
m_pScriptSystem->EndCall(bResult);
|
|
|
|
return (bResult ? 1 : 0);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::OnInit()
|
|
{
|
|
GetScriptFunctionPtrs();
|
|
|
|
HSCRIPTFUNCTION pScriptFunction = m_hOnInit;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int iResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->EndCall(iResult);
|
|
|
|
return iResult;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::OnRelease()
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hOnRelease;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
ReleaseScriptFunctionPtrs();
|
|
|
|
return 1;
|
|
}
|
|
|
|
int iResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->EndCall(iResult);
|
|
|
|
ReleaseScriptFunctionPtrs();
|
|
|
|
return iResult;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::OnUpdate()
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hOnUpdate;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int iResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->EndCall(iResult);
|
|
|
|
return iResult;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::OnDrawBackground()
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hOnDrawBackground;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int iResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->EndCall(iResult);
|
|
|
|
return iResult;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::OnDrawMouseCursor()
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hOnDrawMouseCursor;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int iResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->EndCall(iResult);
|
|
|
|
return iResult;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::OnIdle(float fIdleTime)
|
|
{
|
|
HSCRIPTFUNCTION pScriptFunction = m_hOnIdle;
|
|
|
|
if (!pScriptFunction)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int iResult = 1;
|
|
|
|
m_pScriptSystem->BeginCall(pScriptFunction);
|
|
m_pScriptSystem->PushFuncParam(this->GetScriptObject());
|
|
m_pScriptSystem->PushFuncParam(fIdleTime);
|
|
m_pScriptSystem->EndCall(iResult);
|
|
|
|
return iResult;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
// Script Functions
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::Release(IFunctionHandler *pH)
|
|
{
|
|
Release();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::Reload(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", Reload, 0, 1);
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", Reload, 1, svtNumber);
|
|
|
|
int iFrameDelta = 0;
|
|
|
|
pH->GetParam(1, iFrameDelta);
|
|
|
|
m_pUISystem->Reload(iFrameDelta);
|
|
}
|
|
else
|
|
{
|
|
m_pUISystem->Reload(0);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetWidget(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", GetWidget, 1, 2);
|
|
|
|
char *szWidgetName = 0;
|
|
char *szScreenName = 0;
|
|
|
|
CUIScreen *pScreen = 0;
|
|
CUIWidget *pWidget = 0;
|
|
|
|
if (pH->GetParamCount() >= 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", GetWidget, 1, svtString);
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
}
|
|
|
|
if (pH->GetParamCount() == 2)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", GetWidget, 2, svtString, svtObject);
|
|
|
|
if (pH->GetParamType(2) == svtString)
|
|
{
|
|
pH->GetParam(2, szScreenName);
|
|
}
|
|
else
|
|
{
|
|
IScriptObject *pObj = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(2, pObj);
|
|
|
|
pScreen = (CUIScreen *)pObj->GetNativeData();
|
|
|
|
pObj->Release();
|
|
}
|
|
}
|
|
|
|
if ((szScreenName) && (szWidgetName))
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
else if ((pScreen) && (szWidgetName))
|
|
{
|
|
pWidget = pScreen->GetWidget(szWidgetName);
|
|
}
|
|
else if (szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
return pH->EndFunction(m_pUISystem->GetWidgetScriptObject(pWidget));
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetWidgetCount(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetWidgetCount, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->GetWidgetCount());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ShowWidget(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", ShowWidget, 1, 2);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
char *szWidgetName = 0;
|
|
char *szScreenName = 0;
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", ShowWidget, 1, svtObject, svtString);
|
|
|
|
if (pH->GetParamType(1) == svtObject)
|
|
{
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObject);
|
|
|
|
pWidget = (CUIWidget *)pObject->GetNativeData();
|
|
|
|
pObject->Release();
|
|
}
|
|
else
|
|
{
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ShowWidget, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ShowWidget, 2, svtString);
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
pH->GetParam(2, szScreenName);
|
|
|
|
if (szScreenName && szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
else if (szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
m_pUISystem->ShowWidget(pWidget);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::HideWidget(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", HideWidget, 1, 2);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
char *szWidgetName = 0;
|
|
char *szScreenName = 0;
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", HideWidget, 1, svtObject, svtString);
|
|
|
|
if (pH->GetParamType(1) == svtObject)
|
|
{
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObject);
|
|
|
|
pWidget = (CUIWidget *)pObject->GetNativeData();
|
|
|
|
pObject->Release();
|
|
}
|
|
else
|
|
{
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", HideWidget, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", HideWidget, 2, svtString);
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
pH->GetParam(2, szScreenName);
|
|
|
|
if (szScreenName && szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
else if (szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
m_pUISystem->HideWidget(pWidget);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::IsWidgetVisible(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", IsWidgetVisible, 1, 2);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
char *szWidgetName = 0;
|
|
char *szScreenName = 0;
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", IsWidgetVisible, 1, svtObject, svtString);
|
|
|
|
if (pH->GetParamType(1) == svtObject)
|
|
{
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObject);
|
|
|
|
pWidget = (CUIWidget *)pObject->GetNativeData();
|
|
|
|
pObject->Release();
|
|
}
|
|
else
|
|
{
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", IsWidgetVisible, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", IsWidgetVisible, 2, svtString);
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
pH->GetParam(2, szScreenName);
|
|
|
|
if (szScreenName && szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
else if (szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
return pH->EndFunction(m_pUISystem->IsWidgetVisible(pWidget) != 0);
|
|
}
|
|
|
|
return pH->EndFunction(false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::EnableWidget(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", EnableWidget, 1, 2);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
char *szWidgetName = 0;
|
|
char *szScreenName = 0;
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", EnableWidget, 1, svtObject, svtString);
|
|
|
|
if (pH->GetParamType(1) == svtObject)
|
|
{
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObject);
|
|
|
|
pWidget = (CUIWidget *)pObject->GetNativeData();
|
|
|
|
pObject->Release();
|
|
}
|
|
else
|
|
{
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", EnableWidget, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", EnableWidget, 2, svtString);
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
pH->GetParam(2, szScreenName);
|
|
|
|
if (szScreenName && szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
else if (szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
m_pUISystem->EnableWidget(pWidget);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::DisableWidget(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", DisableWidget, 1, 2);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
char *szWidgetName = 0;
|
|
char *szScreenName = 0;
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", DisableWidget, 1, svtObject, svtString);
|
|
|
|
if (pH->GetParamType(1) == svtObject)
|
|
{
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObject);
|
|
|
|
pWidget = (CUIWidget *)pObject->GetNativeData();
|
|
|
|
pObject->Release();
|
|
}
|
|
else
|
|
{
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", DisableWidget, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", DisableWidget, 2, svtString);
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
pH->GetParam(2, szScreenName);
|
|
|
|
if (szScreenName && szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
else if (szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
m_pUISystem->DisableWidget(pWidget);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::IsWidgetEnabled(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", IsWidgetEnabled, 1, 2);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
char *szWidgetName = 0;
|
|
char *szScreenName = 0;
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", IsWidgetEnabled, 1, svtObject, svtString);
|
|
|
|
if (pH->GetParamType(1) == svtObject)
|
|
{
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObject);
|
|
|
|
pWidget = (CUIWidget *)pObject->GetNativeData();
|
|
|
|
pObject->Release();
|
|
}
|
|
else
|
|
{
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", IsWidgetEnabled, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", IsWidgetEnabled, 2, svtString);
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
pH->GetParam(2, szScreenName);
|
|
|
|
if (szScreenName && szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
else if (szWidgetName)
|
|
{
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
return pH->EndFunction(m_pUISystem->IsWidgetEnabled(pWidget) != 0);
|
|
}
|
|
|
|
return pH->EndFunction(false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SendMessage(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", SendMessage, 4);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", SendMessage, 1, svtString, svtObject);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SendMessage, 2, svtNumber);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SendMessage, 3, svtNumber);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SendMessage, 4, svtNumber);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szWidget;
|
|
|
|
pH->GetParam(1, szWidget);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidget);
|
|
}
|
|
else
|
|
{
|
|
IScriptObject *pWidgetObject = 0;
|
|
|
|
pH->GetParam(1, pWidgetObject);
|
|
|
|
pWidget = (CUIWidget *)pWidgetObject->GetNativeData();
|
|
}
|
|
|
|
if (!pWidget)
|
|
{
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
int iMessage;
|
|
int wParam;
|
|
int lParam;
|
|
|
|
pH->GetParam(2, iMessage);
|
|
pH->GetParam(3, wParam);
|
|
pH->GetParam(4, lParam);
|
|
|
|
// AMD64 port note: the below code is only valid as long as we don't return handles or pointers received via SendMessage
|
|
return pH->EndFunction((int)m_pUISystem->SendMessage(pWidget, iMessage, wParam, lParam));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::BroadcastMessage(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", BroadcastMessage, 3);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", BroadcastMessage, 1, svtNumber);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", BroadcastMessage, 2, svtNumber);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", BroadcastMessage, 3, svtNumber);
|
|
|
|
int iMessage;
|
|
int wParam;
|
|
int lParam;
|
|
|
|
pH->GetParam(1, iMessage);
|
|
pH->GetParam(2, wParam);
|
|
pH->GetParam(3, lParam);
|
|
|
|
return pH->EndFunction((int)m_pUISystem->BroadcastMessage(iMessage, wParam, lParam));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetBackground(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", SetBackground, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetBackground, 1, svtUserData);
|
|
|
|
int iCookie = 0;
|
|
INT_PTR iTextureID = -1;
|
|
|
|
pH->GetParamUDVal(1, iTextureID, iCookie);
|
|
|
|
m_pUISystem->SetBackground(iTextureID);
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetBackground(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetBackground, 0);
|
|
|
|
USER_DATA pUserData = m_pScriptSystem->CreateUserData((int)m_pUISystem->GetBackground(), USER_DATA_TEXTURE);
|
|
|
|
return pH->EndFunction(pUserData);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetBackgroundColor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", SetBackgroundColor, 1, 4);
|
|
|
|
if ((pH->GetParamCount() == 1) && (pH->GetParamType(1) == svtString))
|
|
{
|
|
color4f cColor;
|
|
char *szColor;
|
|
|
|
pH->GetParam(1, szColor);
|
|
|
|
m_pUISystem->RetrieveColor(&cColor, szColor);
|
|
|
|
m_pUISystem->SetBackgroundColor(cColor);
|
|
}
|
|
else if ((pH->GetParamCount() == 4) && (pH->GetParamType(1) == svtNumber) && (pH->GetParamType(4) == svtNumber))
|
|
{
|
|
color4f cColor;
|
|
|
|
int iColor;
|
|
|
|
pH->GetParam(1, iColor);
|
|
cColor.v[0] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(2, iColor);
|
|
cColor.v[1] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(3, iColor);
|
|
cColor.v[2] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(4, iColor);
|
|
cColor.v[3] = iColor * (1.0f / 255.0f);
|
|
|
|
m_pUISystem->SetBackgroundColor(cColor);
|
|
}
|
|
else
|
|
{
|
|
m_pScriptSystem->RaiseError("UI:SetBackgroundColor() Wrong type in parameter 1! Expected 'String' or 'Number', but found '%s'!", GET_SCRIPT_TYPE_STRING(pH->GetParamType(1)));
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetBackgroundColor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetBackgroundColor, 0);
|
|
|
|
char szColor[24];
|
|
color4f cColor;
|
|
|
|
m_pUISystem->GetBackgroundColor(&cColor);
|
|
m_pUISystem->ConvertToString(szColor, cColor);
|
|
|
|
return pH->EndFunction(szColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ShowBackground(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ShowBackground, 0);
|
|
|
|
m_pUISystem->ShowBackground();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::HideBackground(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ShowBackground, 0);
|
|
|
|
m_pUISystem->HideBackground();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::IsBackgroundVisible(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", IsBackgroundVisible, 0);
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetMouseXY(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", SetMouseXY, 2);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetMouseXY, 1, svtNumber);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetMouseXY, 2, svtNumber);
|
|
|
|
float fX = 0.0f;
|
|
float fY = 0.0f;
|
|
|
|
pH->GetParam(1, fX);
|
|
pH->GetParam(2, fY);
|
|
|
|
m_pUISystem->SetMouseXY(fX, fY);
|
|
|
|
return pH->EndFunction();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetMouseXY(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetMouseXY, 0);
|
|
|
|
vector2f vMouseXY = m_pUISystem->GetMouseXY();
|
|
|
|
return pH->EndFunction(vMouseXY.x, vMouseXY.y);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetMouseCursor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", SetMouseCursor, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetMouseCursor, 1, svtUserData);
|
|
|
|
int iCookie = 0;
|
|
INT_PTR iTextureID = -1;
|
|
|
|
pH->GetParamUDVal(1, iTextureID, iCookie);
|
|
|
|
m_pUISystem->SetMouseCursor((int)iTextureID);
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetMouseCursor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", SetMouseCursor, 0);
|
|
|
|
USER_DATA pUserData = m_pScriptSystem->CreateUserData((int)m_pUISystem->GetMouseCursor(), USER_DATA_TEXTURE);
|
|
|
|
return pH->EndFunction(pUserData);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetMouseCursorColor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", SetMouseColorColor, 1, 4);
|
|
|
|
if ((pH->GetParamCount() == 1) && (pH->GetParamType(1) == svtString))
|
|
{
|
|
color4f cColor;
|
|
char *szColor;
|
|
|
|
pH->GetParam(1, szColor);
|
|
|
|
m_pUISystem->RetrieveColor(&cColor, szColor);
|
|
|
|
m_pUISystem->SetMouseCursorColor(cColor);
|
|
}
|
|
else if ((pH->GetParamCount() == 4) && (pH->GetParamType(1) == svtNumber) && (pH->GetParamType(4) == svtNumber))
|
|
{
|
|
color4f cColor;
|
|
|
|
int iColor;
|
|
|
|
pH->GetParam(1, iColor);
|
|
cColor.v[0] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(2, iColor);
|
|
cColor.v[1] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(3, iColor);
|
|
cColor.v[2] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(4, iColor);
|
|
cColor.v[3] = iColor * (1.0f / 255.0f);
|
|
|
|
m_pUISystem->SetMouseCursorColor(cColor);
|
|
}
|
|
else
|
|
{
|
|
m_pScriptSystem->RaiseError("UI:SetMouseCursorColor() Wrong type in parameter 1! Expected 'String' or 'Number', but found '%s'!", GET_SCRIPT_TYPE_STRING(pH->GetParamType(1)));
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetMouseCursorColor(IFunctionHandler *pH)
|
|
{
|
|
char szColor[64];
|
|
color4f cColor;
|
|
|
|
m_pUISystem->GetMouseCursorColor(&cColor);
|
|
m_pUISystem->ConvertToString(szColor, cColor);
|
|
|
|
return pH->EndFunction(szColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetMouseCursorSize(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", SetMouseCursorSize, 2);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetMouseCursorSize, 1, svtNumber);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetMouseCursorSize, 2, svtNumber);
|
|
|
|
float fWidth, fHeight;
|
|
|
|
pH->GetParam(1, fWidth);
|
|
pH->GetParam(2, fHeight);
|
|
|
|
m_pUISystem->SetMouseCursorSize(fWidth, fHeight);
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetMouseCursorWidth(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetMouseCursorWidth, 0);
|
|
|
|
float fWidth;
|
|
|
|
m_pUISystem->GetMouseCursorSize(&fWidth, 0);
|
|
|
|
return pH->EndFunction(fWidth);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetMouseCursorHeight(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetMouseCursorHeight, 0);
|
|
|
|
float fHeight;
|
|
|
|
m_pUISystem->GetMouseCursorSize(&fHeight, 0);
|
|
|
|
return pH->EndFunction(fHeight);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ShowMouseCursor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ShowMouseCursor, 0);
|
|
|
|
m_pUISystem->ShowMouseCursor();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::HideMouseCursor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", HideMouseCursor, 0);
|
|
|
|
m_pUISystem->HideMouseCursor();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::IsMouseCursorVisible(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", IsMouseCursorVisible, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->IsMouseCursorVisible());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetGreyedColor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", SetGreyedColor, 1, 4);
|
|
|
|
if ((pH->GetParamCount() == 1) && (pH->GetParamType(1) == svtString))
|
|
{
|
|
color4f cColor;
|
|
char *szColor;
|
|
|
|
pH->GetParam(1, szColor);
|
|
|
|
m_pUISystem->RetrieveColor(&cColor, szColor);
|
|
|
|
m_pUISystem->SetBackgroundColor(cColor);
|
|
}
|
|
else if ((pH->GetParamCount() == 4) && (pH->GetParamType(1) == svtNumber) && (pH->GetParamType(4) == svtNumber))
|
|
{
|
|
color4f cColor;
|
|
|
|
int iColor;
|
|
|
|
pH->GetParam(1, iColor);
|
|
cColor.v[0] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(2, iColor);
|
|
cColor.v[1] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(3, iColor);
|
|
cColor.v[2] = iColor * (1.0f / 255.0f);
|
|
pH->GetParam(4, iColor);
|
|
cColor.v[3] = iColor * (1.0f / 255.0f);
|
|
|
|
m_pUISystem->SetGreyedColor(cColor);
|
|
}
|
|
else
|
|
{
|
|
m_pScriptSystem->RaiseError("UI:SetGreyedColor() Wrong type in parameter 1! Expected 'String' or 'Number', but found '%s'!", GET_SCRIPT_TYPE_STRING(pH->GetParamType(1)));
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetGreyedColor(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetGreyedColor, 0);
|
|
char szColor[24];
|
|
color4f cColor;
|
|
|
|
m_pUISystem->GetGreyedColor(&cColor);
|
|
m_pUISystem->ConvertToString(szColor, cColor);
|
|
|
|
return pH->EndFunction(szColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::CaptureMouse(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ReleaseMouse, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", ReleaseMouse, 1, svtObject, svtString);
|
|
|
|
CUIWidget *pWidget = 0;
|
|
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szWidget;
|
|
|
|
pH->GetParam(1, szWidget);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidget);
|
|
}
|
|
else
|
|
{
|
|
IScriptObject *pWidgetObject = 0;
|
|
|
|
pH->GetParam(1, pWidgetObject);
|
|
|
|
pWidget = (CUIWidget *)pWidgetObject->GetNativeData();
|
|
}
|
|
|
|
if (!pWidget)
|
|
{
|
|
return pH->EndFunction(0);
|
|
}
|
|
|
|
return pH->EndFunction(m_pUISystem->CaptureMouse(pWidget));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ReleaseMouse(IFunctionHandler *pH)
|
|
{
|
|
m_pUISystem->ReleaseMouse();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractRed(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractRed, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractRed, 1, svtString);
|
|
|
|
char *szColor;
|
|
color4f cColor;
|
|
|
|
pH->GetParam(1, szColor);
|
|
|
|
m_pUISystem->RetrieveColor(&cColor, szColor);
|
|
|
|
return pH->EndFunction((int)(cColor.v[0] * 255));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractGreen(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractGreen, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractGreen, 1, svtString);
|
|
|
|
char *szColor;
|
|
color4f cColor;
|
|
|
|
pH->GetParam(1, szColor);
|
|
|
|
m_pUISystem->RetrieveColor(&cColor, szColor);
|
|
|
|
return pH->EndFunction((int)(cColor.v[1] * 255));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractBlue(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractBlue, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractBlue, 1, svtString);
|
|
|
|
char *szColor;
|
|
color4f cColor;
|
|
|
|
pH->GetParam(1, szColor);
|
|
|
|
m_pUISystem->RetrieveColor(&cColor, szColor);
|
|
|
|
return pH->EndFunction((int)(cColor.v[2] * 255));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractAlpha(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractAlpha, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractAlpha, 1, svtString);
|
|
|
|
char *szColor;
|
|
color4f cColor;
|
|
|
|
pH->GetParam(1, szColor);
|
|
|
|
m_pUISystem->RetrieveColor(&cColor, szColor);
|
|
|
|
return pH->EndFunction((int)(cColor.v[3] * 255));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractLeft(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractLeft, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractLeft, 1, svtString);
|
|
|
|
char *szRect;
|
|
UIRect pRect;
|
|
|
|
pH->GetParam(1, szRect);
|
|
|
|
m_pUISystem->RetrieveRect(&pRect, szRect);
|
|
|
|
return pH->EndFunction(pRect.fLeft);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractTop(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractTop, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractTop, 1, svtString);
|
|
|
|
char *szRect;
|
|
UIRect pRect;
|
|
|
|
pH->GetParam(1, szRect);
|
|
|
|
m_pUISystem->RetrieveRect(&pRect, szRect);
|
|
|
|
return pH->EndFunction(pRect.fTop);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractWidth(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractWidth, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractWidth, 1, svtString);
|
|
|
|
char *szRect;
|
|
UIRect pRect;
|
|
|
|
pH->GetParam(1, szRect);
|
|
|
|
m_pUISystem->RetrieveRect(&pRect, szRect);
|
|
|
|
return pH->EndFunction(pRect.fWidth);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ExtractHeight(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ExtractHeight, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", ExtractHeight, 1, svtString);
|
|
|
|
char *szRect;
|
|
UIRect pRect;
|
|
|
|
pH->GetParam(1, szRect);
|
|
|
|
m_pUISystem->RetrieveRect(&pRect, szRect);
|
|
|
|
return pH->EndFunction(pRect.fHeight);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetMouseX(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetMouseX, 0);
|
|
|
|
vector2f vXY = m_pUISystem->GetMouseXY();
|
|
|
|
return pH->EndFunction(vXY.x);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetMouseY(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetMouseY, 0);
|
|
|
|
vector2f vXY = m_pUISystem->GetMouseXY();
|
|
|
|
return pH->EndFunction(vXY.y);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetTopMostWidget(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", SetTopMostWidget, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", SetTopMostWidget, 1, svtString, svtObject);
|
|
|
|
CUIWidget *pWidget;
|
|
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szWidgetName;
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName);
|
|
}
|
|
else if (pH->GetParamType(1) == svtObject)
|
|
{
|
|
IScriptObject *pScriptObject = 0;
|
|
|
|
pH->GetParam(1, pScriptObject);
|
|
|
|
pWidget = (CUIWidget *)pScriptObject->GetNativeData();
|
|
}
|
|
|
|
if (pWidget)
|
|
{
|
|
m_pUISystem->SetTopMostWidget(pWidget);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetTopMostWidget(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetTopMostWidget, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->GetWidgetScriptObject(m_pUISystem->GetFocus()));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetFocus(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", SetFocus, 1, 2);
|
|
|
|
CUIWidget *pWidget;
|
|
|
|
if (pH->GetParamCount() == 1)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetFocus, 1, svtObject);
|
|
|
|
IScriptObject *pScriptObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pScriptObject);
|
|
|
|
pWidget = (CUIWidget *)pScriptObject->GetNativeData();
|
|
|
|
pScriptObject->Release();
|
|
}
|
|
else
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", SetFocus, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", SetFocus, 2, svtString, svtObject);
|
|
|
|
char *szWidgetName;
|
|
char *szScreenName;
|
|
|
|
pH->GetParam(1, szWidgetName);
|
|
|
|
if (pH->GetParamType(2) == svtObject)
|
|
{
|
|
IScriptObject *pScriptObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(2, pScriptObject);
|
|
|
|
CUIScreen *pScreen = (CUIScreen *)pScriptObject->GetNativeData();
|
|
|
|
pScriptObject->Release();
|
|
|
|
pWidget = pScreen->GetWidget(szWidgetName);
|
|
}
|
|
else
|
|
{
|
|
pH->GetParam(2, szScreenName);
|
|
|
|
pWidget = m_pUISystem->GetWidget(szWidgetName, szScreenName);
|
|
}
|
|
}
|
|
|
|
m_pUISystem->SetFocus(pWidget);
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetFocus(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetFocus, 0);
|
|
|
|
CUIWidget *pFocus = m_pUISystem->GetFocus();
|
|
|
|
if (!pFocus)
|
|
{
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
return pH->EndFunction(m_pUISystem->GetWidgetScriptObject(pFocus));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetFocusScreen(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", SetFocusScreen, 1, 0);
|
|
|
|
if (pH->GetParamCount())
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", SetFocusScreen, 1, svtString, svtObject);
|
|
}
|
|
|
|
CUIScreen *pScreen = 0;
|
|
|
|
if (pH->GetParamCount())
|
|
{
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szName;
|
|
|
|
pH->GetParam(1, szName);
|
|
|
|
if (szName && strlen(szName) > 0)
|
|
{
|
|
pScreen = m_pUISystem->GetScreen(szName);
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to set focusscreen to screen '%s' which was not found!", szName);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
IScriptObject *pObj = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObj);
|
|
|
|
pScreen = (CUIScreen *)pObj->GetNativeData();
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to set focusscreen to a screen which was not found!");
|
|
}
|
|
}
|
|
}
|
|
|
|
m_pUISystem->SetFocusScreen(pScreen);
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetFocusScreen(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetFocusScreen, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->GetFocusScreen()->GetScriptObject());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::FirstTabStop(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", FirstTabStop, 0);
|
|
|
|
m_pUISystem->FirstTabStop();
|
|
|
|
return pH->EndFunction();
|
|
}
|
|
|
|
int CScriptObjectUI::LastTabStop(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", LastTabStop, 0);
|
|
|
|
m_pUISystem->LastTabStop();
|
|
|
|
return pH->EndFunction();
|
|
}
|
|
|
|
int CScriptObjectUI::NextTabStop(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", NextTabStop, 0);
|
|
|
|
m_pUISystem->NextTabStop();
|
|
|
|
return pH->EndFunction();
|
|
}
|
|
|
|
int CScriptObjectUI::PrevTabStop(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", PrevTabStop, 0);
|
|
|
|
m_pUISystem->PrevTabStop();
|
|
|
|
return pH->EndFunction();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::CreateObjectFromTable(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT2(m_pScriptSystem, "UI", CreateStatic, 2, 3);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", CreateStatic, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", CreateStatic, 2, svtObject);
|
|
|
|
CUIScreen *pScreen = 0;
|
|
|
|
if (pH->GetParamCount() == 3)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", CreateStatic, 2, svtObject, svtString);
|
|
|
|
if (pH->GetParamType(3) == svtObject)
|
|
{
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(3, pObject);
|
|
|
|
pScreen = (CUIScreen *)pObject->GetNativeData();
|
|
|
|
pObject->Release();
|
|
}
|
|
else
|
|
{
|
|
char *szScreenName = 0;
|
|
|
|
pH->GetParam(3, szScreenName);
|
|
|
|
if (szScreenName)
|
|
{
|
|
pScreen = m_pUISystem->GetScreen(szScreenName);
|
|
}
|
|
}
|
|
}
|
|
|
|
char *szName = 0;
|
|
IScriptObject *pScriptObject = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, szName);
|
|
pH->GetParam(2, pScriptObject);
|
|
|
|
CUIWidget *pWidget;
|
|
|
|
// create the widget
|
|
if (!m_pUISystem->CreateObjectFromTable(&pWidget, 0, pScreen, pScriptObject, szName))
|
|
{
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
return pH->EndFunction(m_pUISystem->GetWidgetScriptObject(pWidget));
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::CreateScreenFromTable(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", CreateScreenFromTable, 2);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", CreateScreenFromTable, 1, svtString);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pScriptSystem, "UI", CreateScreenFromTable, 2, svtObject);
|
|
|
|
char *szName;
|
|
IScriptObject *pObject = m_pScriptSystem->CreateEmptyObject();;
|
|
|
|
pH->GetParam(1, szName);
|
|
pH->GetParam(2, pObject);
|
|
|
|
CUIScreen *pScreen;
|
|
|
|
if (!m_pUISystem->CreateScreenFromTable(&pScreen, szName, pObject))
|
|
{
|
|
pObject->Release();
|
|
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Failed to create screen '%s'...", szName);
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
pObject->Release();
|
|
|
|
return pH->EndFunction(pScreen->GetScriptObject());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetScreenCount(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetScreenCount, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->GetScreenCount());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetScreen(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetScreen, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", GetScreen, 1, svtString, svtNumber);
|
|
|
|
CUIScreen *pScreen = 0;
|
|
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szName;
|
|
|
|
pH->GetParam(1, szName);
|
|
|
|
pScreen = m_pUISystem->GetScreen(szName);
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Screen '%s' was not found!", szName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
int iScreenIndex;
|
|
|
|
pH->GetParam(1, iScreenIndex);
|
|
|
|
pScreen = m_pUISystem->GetScreen(iScreenIndex);
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Screen number '%d' was not found!", iScreenIndex);
|
|
}
|
|
}
|
|
|
|
if (pScreen)
|
|
{
|
|
return pH->EndFunction(pScreen->GetScriptObject());
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ActivateScreen(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ActivateScreen, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", ActivateScreen, 1, svtString, svtObject);
|
|
|
|
CUIScreen *pScreen = 0;
|
|
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szName;
|
|
|
|
pH->GetParam(1, szName);
|
|
|
|
pScreen = m_pUISystem->GetScreen(szName);
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to activate screen '%s' which was not found!", szName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
IScriptObject *pObj = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObj);
|
|
|
|
pScreen = (CUIScreen *)pObj->GetNativeData();
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to activate a screen which was not found!");
|
|
}
|
|
}
|
|
|
|
if (pScreen)
|
|
{
|
|
m_pUISystem->ActivateScreen(pScreen);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::DeactivateScreen(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", DeactivateScreen, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", DeactivateScreen, 1, svtString, svtObject);
|
|
|
|
CUIScreen *pScreen = 0;
|
|
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szName;
|
|
|
|
pH->GetParam(1, szName);
|
|
|
|
pScreen = m_pUISystem->GetScreen(szName);
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to Deactivate screen '%s' which was not found!", szName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
IScriptObject *pObj = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObj);
|
|
|
|
pScreen = (CUIScreen *)pObj->GetNativeData();
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to Deactivate a screen which was not found!");
|
|
}
|
|
}
|
|
|
|
if (pScreen)
|
|
{
|
|
m_pUISystem->DeactivateScreen(pScreen);
|
|
}
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::IsScreenActive(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", IsScreenActive, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE2(m_pScriptSystem, "UI", IsScreenActive, 1, svtString, svtObject);
|
|
|
|
CUIScreen *pScreen = 0;
|
|
|
|
if (pH->GetParamType(1) == svtString)
|
|
{
|
|
char *szName;
|
|
|
|
pH->GetParam(1, szName);
|
|
|
|
pScreen = m_pUISystem->GetScreen(szName);
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to check for screen '%s' which was not found!", szName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
IScriptObject *pObj = m_pScriptSystem->CreateEmptyObject();
|
|
|
|
pH->GetParam(1, pObj);
|
|
|
|
pScreen = (CUIScreen *)pObj->GetNativeData();
|
|
|
|
if (!pScreen)
|
|
{
|
|
m_pLog->LogToConsole("\001$4[Error]:$1 Tried to check for a screen which was not found!");
|
|
}
|
|
}
|
|
|
|
if (pScreen)
|
|
{
|
|
return pH->EndFunction(m_pUISystem->IsScreenActive(pScreen));
|
|
}
|
|
|
|
return pH->EndFunction(false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetActiveScreenCount(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", GetActiveScreenCount, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->GetActiveScreenCount());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::DeactivateAllScreens(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", DeactivateAllScreens, 0);
|
|
|
|
m_pUISystem->DeactivateAllScreens();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::ActivateAllScreens(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pScriptSystem, "UI", ActivateAllScreens, 0);
|
|
|
|
m_pUISystem->ActivateAllScreens();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::Enable(IFunctionHandler *pH)
|
|
{
|
|
m_pUISystem->Enable();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::Disable(IFunctionHandler *pH)
|
|
{
|
|
m_pUISystem->Disable();
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::IsEnabled(IFunctionHandler *pH)
|
|
{
|
|
return pH->EndFunction(m_pUISystem->IsEnabled());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::StopAllVideo(IFunctionHandler *pH)
|
|
{
|
|
m_pUISystem->StopAllVideo();
|
|
|
|
return pH->EndFunction();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipColor(IFunctionHandler *pH)
|
|
{
|
|
RETURN_COLOR_FROM_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipColor, m_pUISystem->m_cToolTipColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipColor(IFunctionHandler *pH)
|
|
{
|
|
RETURN_COLOR_TO_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipColor, m_pUISystem->m_cToolTipColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipBorderColor(IFunctionHandler *pH)
|
|
{
|
|
RETURN_COLOR_FROM_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipFontColor, m_pUISystem->m_pToolTipBorder.cColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipBorderColor(IFunctionHandler *pH)
|
|
{
|
|
RETURN_COLOR_TO_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipBorderColor, m_pUISystem->m_pToolTipBorder.cColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipBorderSize(IFunctionHandler *pH)
|
|
{
|
|
RETURN_INT_FROM_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipBorderSize, m_pUISystem->m_pToolTipBorder.fSize);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipBorderSize(IFunctionHandler *pH)
|
|
{
|
|
RETURN_INT_TO_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipBorderSize, m_pUISystem->m_pToolTipBorder.fSize);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipBorderStyle(IFunctionHandler *pH)
|
|
{
|
|
RETURN_INT_FROM_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipBorderStyle, m_pUISystem->m_pToolTipBorder.iStyle);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipBorderStyle(IFunctionHandler *pH)
|
|
{
|
|
RETURN_INT_TO_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipBorderStyle, m_pUISystem->m_pToolTipBorder.iStyle);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipFontName(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipFontName, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipFontName, 1, svtString);
|
|
|
|
char *szFontName;
|
|
|
|
pH->GetParam(1, szFontName);
|
|
|
|
m_pUISystem->m_pToolTipFont.szFaceName = szFontName;
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipFontName(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipFontName, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->m_pToolTipFont.szFaceName.c_str());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipFontEffect(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipFontEffect, 1);
|
|
CHECK_SCRIPT_FUNCTION_PARAMTYPE(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipFontEffect, 1, svtString);
|
|
|
|
char *szFontEffect;
|
|
|
|
pH->GetParam(1, szFontEffect);
|
|
|
|
m_pUISystem->m_pToolTipFont.szEffectName = szFontEffect;
|
|
|
|
return pH->EndFunctionNull();
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipFontEffect(IFunctionHandler *pH)
|
|
{
|
|
CHECK_SCRIPT_FUNCTION_PARAMCOUNT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipFontEffect, 0);
|
|
|
|
return pH->EndFunction(m_pUISystem->m_pToolTipFont.szEffectName.c_str());
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipFontColor(IFunctionHandler *pH)
|
|
{
|
|
RETURN_COLOR_FROM_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipFontColor, m_pUISystem->m_pToolTipFont.cColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipFontColor(IFunctionHandler *pH)
|
|
{
|
|
RETURN_COLOR_TO_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipFontColor, m_pUISystem->m_pToolTipFont.cColor);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::SetToolTipFontSize(IFunctionHandler *pH)
|
|
{
|
|
RETURN_INT_FROM_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", SetToolTipFontSize, m_pUISystem->m_pToolTipFont.fSize);
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
int CScriptObjectUI::GetToolTipFontSize(IFunctionHandler *pH)
|
|
{
|
|
RETURN_INT_TO_SCRIPT(m_pUISystem->GetIScriptSystem(), "UI", GetToolTipFontSize, m_pUISystem->m_pToolTipFont.fSize);
|
|
}
|