cheat-engine/Cheat Engine/LuaBitmap.pas
2019-12-19 17:49:30 +01:00

114 lines
2 KiB
ObjectPascal
Executable file

unit LuaBitmap;
{$mode delphi}
interface
uses
Classes, SysUtils, Graphics, lua, lualib, lauxlib,LuaHandler; ;
procedure initializeLuaBitmap;
implementation
{
unit LuaPen;
interface
uses
Classes, SysUtils, Graphics,lua, lualib, lauxlib,LuaHandler;
procedure initializeLuaPen;
implementation
function pen_getColor(L: PLua_State): integer; cdecl;
var
parameters: integer;
pen: TPen;
begin
result:=0;
parameters:=lua_gettop(L);
if parameters=1 then
begin
pen:=lua_touserdata(L,-1);
lua_pop(L, parameters);
lua_pushinteger(L, pen.Color);
result:=1;
end else lua_pop(L, parameters);
end;
function pen_setColor(L: PLua_State): integer; cdecl;
var
parameters: integer;
pen: TPen;
color: TColor;
begin
result:=0;
parameters:=lua_gettop(L);
if parameters=2 then
begin
pen:=lua_touserdata(L,-parameters);
color:=lua_tointeger(L, -parameters+1);
lua_pop(L, parameters);
pen.Color:=color;
end else lua_pop(L, parameters);
end;
function pen_getWidth(L: PLua_State): integer; cdecl;
var
parameters: integer;
pen: TPen;
begin
result:=0;
parameters:=lua_gettop(L);
if parameters=1 then
begin
pen:=lua_touserdata(L,-1);
lua_pop(L, parameters);
lua_pushinteger(L, pen.Width);
result:=1;
end else lua_pop(L, parameters);
end;
function pen_setWidth(L: PLua_State): integer; cdecl;
var
parameters: integer;
pen: TPen;
width: integer;
begin
result:=0;
parameters:=lua_gettop(L);
if parameters=2 then
begin
pen:=lua_touserdata(L,-parameters);
width:=lua_tointeger(L, -parameters+1);
lua_pop(L, parameters);
pen.Width:=width;
end else lua_pop(L, parameters);
end;
}
procedure initializeLuaBitmap;
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;
end.