mirror of
https://github.com/cheat-engine/cheat-engine
synced 2026-08-15 02:26:08 -04:00
170 lines
5.3 KiB
ObjectPascal
Executable file
170 lines
5.3 KiB
ObjectPascal
Executable file
unit LuaPanel;
|
|
|
|
{$mode delphi}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, lua, lualib, lauxlib, ExtCtrls, betterControls;
|
|
|
|
procedure initializeLuaPanel;
|
|
procedure panel_addMetaData(L: PLua_state; metatable: integer; userdata: integer );
|
|
|
|
implementation
|
|
|
|
uses luaclass, LuaCustomControl, pluginexports, luahandler;
|
|
|
|
function createPanel(L: Plua_State): integer; cdecl;
|
|
var parameters: integer;
|
|
f,p: pointer;
|
|
begin
|
|
result:=0;
|
|
parameters:=lua_gettop(L);
|
|
if parameters=1 then
|
|
begin
|
|
f:=lua_toceuserdata(L, -1);
|
|
p:=ce_createPanel(f);
|
|
luaclass_newClass(L, p);
|
|
result:=1;
|
|
end;
|
|
end;
|
|
|
|
function panel_getAlignment(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
panel:=luaclass_getClassObject(L);
|
|
lua_pushinteger(L, integer(panel.Alignment));
|
|
result:=1;
|
|
end;
|
|
|
|
function panel_setAlignment(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
result:=0;
|
|
panel:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
panel.Alignment:=TAlignment(lua_tointeger(L,-1));
|
|
end;
|
|
|
|
function panel_getBevelInner(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
panel:=luaclass_getClassObject(L);
|
|
lua_pushinteger(L, integer(panel.BevelInner));
|
|
result:=1;
|
|
end;
|
|
|
|
function panel_setBevelInner(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
result:=0;
|
|
panel:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
panel.BevelInner:=TPanelBevel(lua_tointeger(L,-1));
|
|
end;
|
|
|
|
function panel_getBevelOuter(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
panel:=luaclass_getClassObject(L);
|
|
lua_pushinteger(L, integer(panel.BevelOuter));
|
|
result:=1;
|
|
end;
|
|
|
|
function panel_setBevelOuter(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
result:=0;
|
|
panel:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
panel.BevelOuter:=TPanelBevel(lua_tointeger(L,-1));
|
|
end;
|
|
|
|
function panel_getBevelWidth(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
panel:=luaclass_getClassObject(L);
|
|
lua_pushinteger(L, integer(panel.BevelWidth));
|
|
result:=1;
|
|
end;
|
|
|
|
function panel_setBevelWidth(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
result:=0;
|
|
panel:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
panel.BevelWidth:=TBevelWidth(lua_tointeger(L,-1));
|
|
end;
|
|
|
|
function panel_getFullRepaint(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
panel:=luaclass_getClassObject(L);
|
|
lua_pushboolean(L, panel.FullRepaint);
|
|
result:=1;
|
|
end;
|
|
|
|
function panel_setFullRepaint(L: PLua_State): integer; cdecl;
|
|
var
|
|
panel: Tcustompanel;
|
|
begin
|
|
result:=0;
|
|
panel:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
panel.FullRepaint:=lua_toboolean(L,-1);
|
|
end;
|
|
|
|
procedure panel_addMetaData(L: PLua_state; metatable: integer; userdata: integer );
|
|
begin
|
|
customcontrol_addMetaData(L, metatable, userdata);
|
|
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getAlignment', panel_getAlignment);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setAlignment', panel_setAlignment);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getBevelInner', panel_getBevelInner);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setBevelInner', panel_setBevelInner);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getBevelOuter', panel_getBevelOuter);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setBevelOuter', panel_setBevelOuter);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getBevelWidth', panel_getBevelWidth);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setBevelWidth', panel_setBevelWidth);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getFullRepaint', panel_getFullRepaint);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setFullRepaint', panel_setFullRepaint);
|
|
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'Alignment', panel_getAlignment, panel_setAlignment);
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'BevelInner', panel_getBevelInner, panel_setBevelInner);
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'BevelOuter', panel_getBevelOuter, panel_setBevelOuter);
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'BevelWidth', panel_getBevelWidth, panel_setBevelWidth);
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'FullRepaint', panel_getFullRepaint, panel_setFullRepaint);
|
|
|
|
end;
|
|
|
|
procedure initializeLuaPanel;
|
|
begin
|
|
lua_register(LuaVM, 'createPanel', createPanel);
|
|
lua_register(LuaVM, 'panel_getAlignment', panel_getAlignment);
|
|
lua_register(LuaVM, 'panel_setAlignment', panel_setAlignment);
|
|
lua_register(LuaVM, 'panel_getBevelInner', panel_getBevelInner);
|
|
lua_register(LuaVM, 'panel_setBevelInner', panel_setBevelInner);
|
|
lua_register(LuaVM, 'panel_getBevelOuter', panel_getBevelOuter);
|
|
lua_register(LuaVM, 'panel_setBevelOuter', panel_setBevelOuter);
|
|
lua_register(LuaVM, 'panel_getBevelWidth', panel_getBevelWidth);
|
|
lua_register(LuaVM, 'panel_setBevelWidth', panel_setBevelWidth);
|
|
lua_register(LuaVM, 'panel_getFullRepaint', panel_getFullRepaint);
|
|
lua_register(LuaVM, 'panel_setFullRepaint', panel_setFullRepaint);
|
|
|
|
end;
|
|
|
|
initialization
|
|
luaclass_register(TCustomPanel, panel_addMetaData);
|
|
|
|
end.
|
|
|