cheat-engine/Cheat Engine/LuaPen.pas
cheatengine@gmail.com e1fc3fdfbd Pen update
2013-01-04 23:35:35 +00:00

79 lines
1.9 KiB
ObjectPascal

unit LuaPen;
{$mode delphi}
interface
uses
Classes, SysUtils, Graphics,lua, lualib, lauxlib,LuaHandler;
procedure initializeLuaPen;
implementation
uses luaclass, LuaObject;
function pen_getColor(L: PLua_State): integer; cdecl;
var
pen: TPen;
begin
pen:=luaclass_getClassObject(L);
lua_pushinteger(L, pen.Color);
result:=1;
end;
function pen_setColor(L: PLua_State): integer; cdecl;
var
pen: TPen;
begin
pen:=luaclass_getClassObject(L);
if lua_gettop(L)>=1 then
pen.color:=lua_tointeger(L, -1);
result:=1;
end;
function pen_getWidth(L: PLua_State): integer; cdecl;
var
pen: TPen;
begin
pen:=luaclass_getClassObject(L);
lua_pushinteger(L, pen.Width);
result:=1;
end;
function pen_setWidth(L: PLua_State): integer; cdecl;
var
pen: TPen;
begin
pen:=luaclass_getClassObject(L);
if lua_gettop(L)>=1 then
pen.Width:=lua_tointeger(L, -1);
result:=1;
end;
procedure pen_addMetaData(L: PLua_state; metatable: integer; userdata: integer );
begin
object_addMetaData(L, metatable, userdata);
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getColor', pen_getColor);
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setColor', pen_setColor);
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getWidth', pen_getWidth);
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setWidth', pen_setWidth);
Luaclass_addPropertyToTable(L, metatable, userdata, 'Color', pen_getColor, pen_setColor);
Luaclass_addPropertyToTable(L, metatable, userdata, 'Width', pen_getWidth, pen_setWidth);
end;
procedure initializeLuaPen;
begin
lua_register(LuaVM, 'pen_getColor', pen_getColor);
lua_register(LuaVM, 'pen_setColor', pen_setColor);
lua_register(LuaVM, 'pen_getWidth', pen_getWidth);
lua_register(LuaVM, 'pen_setWidth', pen_setWidth);
end;
initialization
luaclass_register(TPen, pen_addMetaData);
end.