Unify some exported lua script params

This commit is contained in:
Pasi Kallinen
2020-02-09 13:44:04 +02:00
parent 5e0c668e83
commit ced327fdf5

View File

@@ -13,6 +13,8 @@ static int FDECL(l_selection_setpoint, (lua_State *));
static int FDECL(l_selection_not, (lua_State *));
static int FDECL(l_selection_filter_percent, (lua_State *));
static int FDECL(l_selection_rndcoord, (lua_State *));
static boolean FDECL(params_sel_2coords, (lua_State *, struct selectionvar *,
schar *, schar *, schar *, schar *));
static int FDECL(l_selection_line, (lua_State *));
static int FDECL(l_selection_randline, (lua_State *));
static int FDECL(l_selection_rect, (lua_State *));
@@ -312,6 +314,39 @@ lua_State *L;
return 2;
}
/* function(selection, x1,y1, x2,y2) */
/* selection:function(x1,y1, x2,y2) */
static boolean
params_sel_2coords(L, sel, x1,y1, x2,y2)
lua_State *L;
struct selectionvar *sel;
schar *x1, *y1, *x2, *y2;
{
int argc = lua_gettop(L);
if (argc == 4) {
(void) l_selection_new(L);
*x1 = (schar) luaL_checkinteger(L, 1);
*y1 = (schar) luaL_checkinteger(L, 2);
*x2 = (schar) luaL_checkinteger(L, 3);
*y2 = (schar) luaL_checkinteger(L, 4);
sel = l_selection_check(L, 5);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
return TRUE;
} else if (argc == 5) {
sel = l_selection_check(L, 1);
*x1 = (schar) luaL_checkinteger(L, 2);
*y1 = (schar) luaL_checkinteger(L, 3);
*x2 = (schar) luaL_checkinteger(L, 4);
*y2 = (schar) luaL_checkinteger(L, 5);
return TRUE;
}
return FALSE;
}
/* local s = selection.line(sel, x1,y1, x2,y2); */
/* local s = selection.line(x1,y1, x2,y2); */
/* s:line(x1,y1, x2,y2); */
@@ -319,30 +354,14 @@ static int
l_selection_line(L)
lua_State *L;
{
int argc = lua_gettop(L);
struct selectionvar *sel;
schar x1;
schar y1;
schar x2;
schar y2;
if (argc == 4) {
(void) l_selection_new(L);
x1 = (schar) luaL_checkinteger(L, 1);
y1 = (schar) luaL_checkinteger(L, 2);
x2 = (schar) luaL_checkinteger(L, 3);
y2 = (schar) luaL_checkinteger(L, 4);
sel = l_selection_check(L, 5);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
} else {
sel = l_selection_check(L, 1);
x1 = (schar) luaL_checkinteger(L, 2);
y1 = (schar) luaL_checkinteger(L, 3);
x2 = (schar) luaL_checkinteger(L, 4);
y2 = (schar) luaL_checkinteger(L, 5);
if (!params_sel_2coords(L, sel, &x1, &y1, &x2, &y2)) {
nhl_error(L, "selection.line: illegal arguments");
}
get_location_coord(&x1, &y1, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x1,y1));
@@ -358,30 +377,14 @@ static int
l_selection_rect(L)
lua_State *L;
{
int argc = lua_gettop(L);
struct selectionvar *sel;
schar x1;
schar y1;
schar x2;
schar y2;
if (argc == 4) {
(void) l_selection_new(L);
x1 = (schar) luaL_checkinteger(L, 1);
y1 = (schar) luaL_checkinteger(L, 2);
x2 = (schar) luaL_checkinteger(L, 3);
y2 = (schar) luaL_checkinteger(L, 4);
sel = l_selection_check(L, 5);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
} else {
sel = l_selection_check(L, 1);
x1 = (schar) luaL_checkinteger(L, 2);
y1 = (schar) luaL_checkinteger(L, 3);
x2 = (schar) luaL_checkinteger(L, 4);
y2 = (schar) luaL_checkinteger(L, 5);
if (!params_sel_2coords(L, sel, &x1, &y1, &x2, &y2)) {
nhl_error(L, "selection.rect: illegal arguments");
}
get_location_coord(&x1, &y1, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x1,y1));
@@ -411,23 +414,8 @@ lua_State *L;
schar x2;
schar y2;
if (argc == 4) {
(void) l_selection_new(L);
x1 = (schar) luaL_checkinteger(L, 1);
y1 = (schar) luaL_checkinteger(L, 2);
x2 = (schar) luaL_checkinteger(L, 3);
y2 = (schar) luaL_checkinteger(L, 4);
sel = l_selection_check(L, 5);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
lua_remove(L, 1);
} else {
sel = l_selection_check(L, 1);
x1 = (schar) luaL_checkinteger(L, 2);
y1 = (schar) luaL_checkinteger(L, 3);
x2 = (schar) luaL_checkinteger(L, 4);
y2 = (schar) luaL_checkinteger(L, 5);
if (!params_sel_2coords(L, sel, &x1, &y1, &x2, &y2)) {
nhl_error(L, "selection.fillrect: illegal arguments");
}
get_location_coord(&x1, &y1, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x1,y1));