Initial commit
This commit is contained in:
437
engines/ags/engine/ac/gui_control.cpp
Normal file
437
engines/ags/engine/ac/gui_control.cpp
Normal file
@@ -0,0 +1,437 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ags/shared/ac/common.h"
|
||||
#include "ags/engine/ac/gui_control.h"
|
||||
#include "ags/engine/ac/global_gui.h"
|
||||
#include "ags/engine/ac/mouse.h"
|
||||
#include "ags/engine/ac/string.h"
|
||||
#include "ags/engine/debugging/debug_log.h"
|
||||
#include "ags/shared/gui/gui_button.h"
|
||||
#include "ags/shared/gui/gui_inv.h"
|
||||
#include "ags/shared/gui/gui_label.h"
|
||||
#include "ags/shared/gui/gui_listbox.h"
|
||||
#include "ags/shared/gui/gui_main.h"
|
||||
#include "ags/shared/gui/gui_slider.h"
|
||||
#include "ags/shared/gui/gui_textbox.h"
|
||||
#include "ags/engine/script/runtime_script_value.h"
|
||||
#include "ags/engine/ac/dynobj/cc_gui.h"
|
||||
#include "ags/engine/ac/dynobj/cc_gui_object.h"
|
||||
#include "ags/engine/ac/dynobj/script_string.h"
|
||||
#include "ags/shared/debugging/out.h"
|
||||
#include "ags/engine/script/script_api.h"
|
||||
#include "ags/engine/script/script_runtime.h"
|
||||
#include "ags/globals.h"
|
||||
|
||||
namespace AGS3 {
|
||||
|
||||
using namespace AGS::Shared;
|
||||
|
||||
GUIObject *GetGUIControlAtLocation(int xx, int yy) {
|
||||
int guinum = GetGUIAt(xx, yy);
|
||||
if (guinum == -1)
|
||||
return nullptr;
|
||||
|
||||
data_to_game_coords(&xx, &yy);
|
||||
int32_t toret = _GP(guis)[guinum].FindControlAt(xx, yy, 0, false);
|
||||
|
||||
if (toret < 0)
|
||||
return nullptr;
|
||||
|
||||
return _GP(guis)[guinum].GetControl(toret);
|
||||
}
|
||||
|
||||
int GUIControl_GetVisible(GUIObject *guio) {
|
||||
return guio->IsVisible();
|
||||
}
|
||||
|
||||
void GUIControl_SetVisible(GUIObject *guio, int visible) {
|
||||
const bool on = visible != 0;
|
||||
if (on != guio->IsVisible()) {
|
||||
guio->SetVisible(on);
|
||||
}
|
||||
}
|
||||
|
||||
int GUIControl_GetClickable(GUIObject *guio) {
|
||||
if (guio->IsClickable())
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void GUIControl_SetClickable(GUIObject *guio, int enabled) {
|
||||
const bool on = enabled != 0;
|
||||
if (on != guio->IsClickable()) {
|
||||
guio->SetClickable(on);
|
||||
}
|
||||
}
|
||||
|
||||
int GUIControl_GetEnabled(GUIObject *guio) {
|
||||
return guio->IsEnabled() ? 1 : 0;
|
||||
}
|
||||
|
||||
void GUIControl_SetEnabled(GUIObject *guio, int enabled) {
|
||||
const bool on = enabled != 0;
|
||||
if (on != guio->IsEnabled()) {
|
||||
guio->SetEnabled(on);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int GUIControl_GetID(GUIObject *guio) {
|
||||
return guio->Id;
|
||||
}
|
||||
|
||||
const char *GUIControl_GetScriptName(GUIObject *guio) {
|
||||
return CreateNewScriptString(guio->Name);
|
||||
}
|
||||
|
||||
ScriptGUI *GUIControl_GetOwningGUI(GUIObject *guio) {
|
||||
return &_GP(scrGui)[guio->ParentId];
|
||||
}
|
||||
|
||||
GUIButton *GUIControl_GetAsButton(GUIObject *guio) {
|
||||
if (_GP(guis)[guio->ParentId].GetControlType(guio->Id) != kGUIButton)
|
||||
return nullptr;
|
||||
|
||||
return (GUIButton *)guio;
|
||||
}
|
||||
|
||||
GUIInvWindow *GUIControl_GetAsInvWindow(GUIObject *guio) {
|
||||
if (_GP(guis)[guio->ParentId].GetControlType(guio->Id) != kGUIInvWindow)
|
||||
return nullptr;
|
||||
|
||||
return (GUIInvWindow *)guio;
|
||||
}
|
||||
|
||||
GUILabel *GUIControl_GetAsLabel(GUIObject *guio) {
|
||||
if (_GP(guis)[guio->ParentId].GetControlType(guio->Id) != kGUILabel)
|
||||
return nullptr;
|
||||
|
||||
return (GUILabel *)guio;
|
||||
}
|
||||
|
||||
GUIListBox *GUIControl_GetAsListBox(GUIObject *guio) {
|
||||
if (_GP(guis)[guio->ParentId].GetControlType(guio->Id) != kGUIListBox)
|
||||
return nullptr;
|
||||
|
||||
return (GUIListBox *)guio;
|
||||
}
|
||||
|
||||
GUISlider *GUIControl_GetAsSlider(GUIObject *guio) {
|
||||
if (_GP(guis)[guio->ParentId].GetControlType(guio->Id) != kGUISlider)
|
||||
return nullptr;
|
||||
|
||||
return (GUISlider *)guio;
|
||||
}
|
||||
|
||||
GUITextBox *GUIControl_GetAsTextBox(GUIObject *guio) {
|
||||
if (_GP(guis)[guio->ParentId].GetControlType(guio->Id) != kGUITextBox)
|
||||
return nullptr;
|
||||
|
||||
return (GUITextBox *)guio;
|
||||
}
|
||||
|
||||
int GUIControl_GetX(GUIObject *guio) {
|
||||
return game_to_data_coord(guio->X);
|
||||
}
|
||||
|
||||
void GUIControl_SetX(GUIObject *guio, int xx) {
|
||||
guio->X = data_to_game_coord(xx);
|
||||
_GP(guis)[guio->ParentId].NotifyControlPosition(); // update control under cursor
|
||||
}
|
||||
|
||||
int GUIControl_GetY(GUIObject *guio) {
|
||||
return game_to_data_coord(guio->Y);
|
||||
}
|
||||
|
||||
void GUIControl_SetY(GUIObject *guio, int yy) {
|
||||
guio->Y = data_to_game_coord(yy);
|
||||
_GP(guis)[guio->ParentId].NotifyControlPosition(); // update control under cursor
|
||||
}
|
||||
|
||||
int GUIControl_GetZOrder(GUIObject *guio) {
|
||||
return guio->ZOrder;
|
||||
}
|
||||
|
||||
void GUIControl_SetZOrder(GUIObject *guio, int zorder) {
|
||||
_GP(guis)[guio->ParentId].SetControlZOrder(guio->Id, zorder);
|
||||
}
|
||||
|
||||
void GUIControl_SetPosition(GUIObject *guio, int xx, int yy) {
|
||||
GUIControl_SetX(guio, xx);
|
||||
GUIControl_SetY(guio, yy);
|
||||
}
|
||||
|
||||
|
||||
int GUIControl_GetWidth(GUIObject *guio) {
|
||||
return game_to_data_coord(guio->GetWidth());
|
||||
}
|
||||
|
||||
void GUIControl_SetWidth(GUIObject *guio, int newwid) {
|
||||
guio->SetWidth(data_to_game_coord(newwid));
|
||||
}
|
||||
|
||||
int GUIControl_GetHeight(GUIObject *guio) {
|
||||
return game_to_data_coord(guio->GetHeight());
|
||||
}
|
||||
|
||||
void GUIControl_SetHeight(GUIObject *guio, int newhit) {
|
||||
guio->SetHeight(data_to_game_coord(newhit));
|
||||
}
|
||||
|
||||
void GUIControl_SetSize(GUIObject *guio, int newwid, int newhit) {
|
||||
if ((newwid < 2) || (newhit < 2))
|
||||
quit("!SetGUIObjectSize: new size is too small (must be at least 2x2)");
|
||||
|
||||
debug_script_log("SetGUIObject %d,%d size %d,%d", guio->ParentId, guio->Id, newwid, newhit);
|
||||
GUIControl_SetWidth(guio, newwid);
|
||||
GUIControl_SetHeight(guio, newhit);
|
||||
}
|
||||
|
||||
void GUIControl_SendToBack(GUIObject *guio) {
|
||||
_GP(guis)[guio->ParentId].SendControlToBack(guio->Id);
|
||||
}
|
||||
|
||||
void GUIControl_BringToFront(GUIObject *guio) {
|
||||
_GP(guis)[guio->ParentId].BringControlToFront(guio->Id);
|
||||
}
|
||||
|
||||
int GUIControl_GetTransparency(GUIObject *guio) {
|
||||
return GfxDef::LegacyTrans255ToTrans100(guio->GetTransparency());
|
||||
}
|
||||
|
||||
void GUIControl_SetTransparency(GUIObject *guio, int trans) {
|
||||
if ((trans < 0) || (trans > 100))
|
||||
quit("!SetGUITransparency: transparency value must be between 0 and 100");
|
||||
guio->SetTransparency(GfxDef::Trans100ToLegacyTrans255(trans));
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// Script API Functions
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
GUIObject *GUIControl_GetByName(const char *name) {
|
||||
return static_cast<GUIObject *>(ccGetScriptObjectAddress(name, _GP(ccDynamicGUIObject).GetType()));
|
||||
}
|
||||
|
||||
RuntimeScriptValue Sc_GUIControl_GetByName(const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_SCALL_OBJ_POBJ(GUIObject, _GP(ccDynamicGUIObject), GUIControl_GetByName, const char);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_BringToFront(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID(GUIObject, GUIControl_BringToFront);
|
||||
}
|
||||
|
||||
// GUIObject *(int xx, int yy)
|
||||
RuntimeScriptValue Sc_GetGUIControlAtLocation(const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_SCALL_OBJ_PINT2(GUIObject, _GP(ccDynamicGUIObject), GetGUIControlAtLocation);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_SendToBack(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID(GUIObject, GUIControl_SendToBack);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int xx, int yy)
|
||||
RuntimeScriptValue Sc_GUIControl_SetPosition(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT2(GUIObject, GUIControl_SetPosition);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int newwid, int newhit)
|
||||
RuntimeScriptValue Sc_GUIControl_SetSize(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT2(GUIObject, GUIControl_SetSize);
|
||||
}
|
||||
|
||||
// GUIButton* (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetAsButton(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, GUIButton, _GP(ccDynamicGUI), GUIControl_GetAsButton);
|
||||
}
|
||||
|
||||
// GUIInvWindow* (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetAsInvWindow(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, GUIInvWindow, _GP(ccDynamicGUI), GUIControl_GetAsInvWindow);
|
||||
}
|
||||
|
||||
// GUILabel* (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetAsLabel(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, GUILabel, _GP(ccDynamicGUI), GUIControl_GetAsLabel);
|
||||
}
|
||||
|
||||
// GUIListBox* (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetAsListBox(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, GUIListBox, _GP(ccDynamicGUI), GUIControl_GetAsListBox);
|
||||
}
|
||||
|
||||
// GUISlider* (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetAsSlider(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, GUISlider, _GP(ccDynamicGUI), GUIControl_GetAsSlider);
|
||||
}
|
||||
|
||||
// GUITextBox* (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetAsTextBox(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, GUITextBox, _GP(ccDynamicGUI), GUIControl_GetAsTextBox);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetClickable(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetClickable);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int enabled)
|
||||
RuntimeScriptValue Sc_GUIControl_SetClickable(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetClickable);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetEnabled(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetEnabled);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int enabled)
|
||||
RuntimeScriptValue Sc_GUIControl_SetEnabled(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetEnabled);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetHeight(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetHeight);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int newhit)
|
||||
RuntimeScriptValue Sc_GUIControl_SetHeight(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetHeight);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetID(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetID);
|
||||
}
|
||||
|
||||
RuntimeScriptValue Sc_GUIControl_GetScriptName(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, const char, _GP(myScriptStringImpl), GUIControl_GetScriptName);
|
||||
}
|
||||
|
||||
// ScriptGUI* (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetOwningGUI(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_OBJ(GUIObject, ScriptGUI, _GP(ccDynamicGUI), GUIControl_GetOwningGUI);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetVisible(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetVisible);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int visible)
|
||||
RuntimeScriptValue Sc_GUIControl_SetVisible(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetVisible);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetWidth(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetWidth);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int newwid)
|
||||
RuntimeScriptValue Sc_GUIControl_SetWidth(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetWidth);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetX(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetX);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int xx)
|
||||
RuntimeScriptValue Sc_GUIControl_SetX(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetX);
|
||||
}
|
||||
|
||||
// int (GUIObject *guio)
|
||||
RuntimeScriptValue Sc_GUIControl_GetY(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetY);
|
||||
}
|
||||
|
||||
// void (GUIObject *guio, int yy)
|
||||
RuntimeScriptValue Sc_GUIControl_SetY(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetY);
|
||||
}
|
||||
|
||||
RuntimeScriptValue Sc_GUIControl_GetZOrder(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetZOrder);
|
||||
}
|
||||
|
||||
RuntimeScriptValue Sc_GUIControl_SetZOrder(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetZOrder);
|
||||
}
|
||||
|
||||
RuntimeScriptValue Sc_GUIControl_GetTransparency(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_INT(GUIObject, GUIControl_GetTransparency);
|
||||
}
|
||||
|
||||
RuntimeScriptValue Sc_GUIControl_SetTransparency(void *self, const RuntimeScriptValue *params, int32_t param_count) {
|
||||
API_OBJCALL_VOID_PINT(GUIObject, GUIControl_SetTransparency);
|
||||
}
|
||||
|
||||
void RegisterGUIControlAPI() {
|
||||
ScFnRegister guicontrol_api[] = {
|
||||
{"GUIControl::GetAtScreenXY^2", API_FN_PAIR(GetGUIControlAtLocation)},
|
||||
{"GUIControl::GetByName", API_FN_PAIR(GUIControl_GetByName)},
|
||||
|
||||
{"GUIControl::BringToFront^0", API_FN_PAIR(GUIControl_BringToFront)},
|
||||
{"GUIControl::SendToBack^0", API_FN_PAIR(GUIControl_SendToBack)},
|
||||
{"GUIControl::SetPosition^2", API_FN_PAIR(GUIControl_SetPosition)},
|
||||
{"GUIControl::SetSize^2", API_FN_PAIR(GUIControl_SetSize)},
|
||||
{"GUIControl::get_AsButton", API_FN_PAIR(GUIControl_GetAsButton)},
|
||||
{"GUIControl::get_AsInvWindow", API_FN_PAIR(GUIControl_GetAsInvWindow)},
|
||||
{"GUIControl::get_AsLabel", API_FN_PAIR(GUIControl_GetAsLabel)},
|
||||
{"GUIControl::get_AsListBox", API_FN_PAIR(GUIControl_GetAsListBox)},
|
||||
{"GUIControl::get_AsSlider", API_FN_PAIR(GUIControl_GetAsSlider)},
|
||||
{"GUIControl::get_AsTextBox", API_FN_PAIR(GUIControl_GetAsTextBox)},
|
||||
{"GUIControl::get_Clickable", API_FN_PAIR(GUIControl_GetClickable)},
|
||||
{"GUIControl::set_Clickable", API_FN_PAIR(GUIControl_SetClickable)},
|
||||
{"GUIControl::get_Enabled", API_FN_PAIR(GUIControl_GetEnabled)},
|
||||
{"GUIControl::set_Enabled", API_FN_PAIR(GUIControl_SetEnabled)},
|
||||
{"GUIControl::get_Height", API_FN_PAIR(GUIControl_GetHeight)},
|
||||
{"GUIControl::set_Height", API_FN_PAIR(GUIControl_SetHeight)},
|
||||
{"GUIControl::get_ID", API_FN_PAIR(GUIControl_GetID)},
|
||||
{"GUIControl::get_OwningGUI", API_FN_PAIR(GUIControl_GetOwningGUI)},
|
||||
{"GUIControl::get_ScriptName", API_FN_PAIR(GUIControl_GetScriptName)},
|
||||
{"GUIControl::get_Visible", API_FN_PAIR(GUIControl_GetVisible)},
|
||||
{"GUIControl::set_Visible", API_FN_PAIR(GUIControl_SetVisible)},
|
||||
{"GUIControl::get_Width", API_FN_PAIR(GUIControl_GetWidth)},
|
||||
{"GUIControl::set_Width", API_FN_PAIR(GUIControl_SetWidth)},
|
||||
{"GUIControl::get_X", API_FN_PAIR(GUIControl_GetX)},
|
||||
{"GUIControl::set_X", API_FN_PAIR(GUIControl_SetX)},
|
||||
{"GUIControl::get_Y", API_FN_PAIR(GUIControl_GetY)},
|
||||
{"GUIControl::set_Y", API_FN_PAIR(GUIControl_SetY)},
|
||||
{"GUIControl::get_ZOrder", API_FN_PAIR(GUIControl_GetZOrder)},
|
||||
{"GUIControl::set_ZOrder", API_FN_PAIR(GUIControl_SetZOrder)},
|
||||
{"GUIControl::get_Transparency", API_FN_PAIR(GUIControl_GetTransparency)},
|
||||
{"GUIControl::set_Transparency", API_FN_PAIR(GUIControl_SetTransparency)},
|
||||
};
|
||||
|
||||
ccAddExternalFunctions361(guicontrol_api);
|
||||
}
|
||||
|
||||
} // namespace AGS3
|
||||
Reference in New Issue
Block a user