lua move rocklib_img to its own separate loadable module

allows rocklib_img to be excluded if needed

stops rocklib_aux from generating redundant prototypes for
lcd_mono_bitmap[_part]

Change-Id: Ie208ad71ab5f9a7deb026dc01a5b0a0631a0d29c
This commit is contained in:
William Wilgus 2018-10-22 14:00:58 -04:00
parent 7a132a257a
commit 948984309a
5 changed files with 23 additions and 25 deletions

View file

@ -26,7 +26,6 @@
#include "lua.h"
#include "lauxlib.h"
#include "rocklib_img.h"
#include "rocklib.h"
#include "lib/helper.h"
#include "lib/pluginlib_actions.h"
@ -416,7 +415,6 @@ static const luaL_Reg rocklib[] =
#undef RB_FUNC
extern const luaL_Reg rocklib_aux[];
extern const luaL_Reg rocklib_img[];
/*
** Open Rockbox library
@ -425,8 +423,7 @@ LUALIB_API int luaopen_rock(lua_State *L)
{
luaL_register(L, LUA_ROCKLIBNAME, rocklib);
luaL_register(L, LUA_ROCKLIBNAME, rocklib_aux);
luaL_register(L, LUA_ROCKLIBNAME, rocklib_img);
static const struct lua_int_reg rlib_const_int[] =
{
/* useful integer constants */
@ -486,8 +483,6 @@ LUALIB_API int luaopen_rock(lua_State *L)
lua_setfield(L, -2, rlcs->name);
}
rli_init(L);
return 1;
}

View file

@ -70,6 +70,7 @@ my @forbidden_functions = ('^open$',
'^strl?+cat$',
'^codec_',
'^timer_',
'^lcd_(mono_)?+bitmap',
'^__.+$',
'^.+_(un)?cached$',
'^audio_play$',

View file

@ -1188,7 +1188,7 @@ RLI_LUA rli_clear(lua_State *L)
#endif /* RLI_EXTENDED */
/* Rli Image methods exported to lua */
const struct luaL_reg rli_lib [] =
static const struct luaL_reg rli_lib [] =
{
{"__tostring", rli_tostring},
{"_data", rli_raw},
@ -1212,22 +1212,6 @@ const struct luaL_reg rli_lib [] =
{NULL, NULL}
};
LUALIB_API int rli_init(lua_State *L)
{
/* some devices need x | y coords shifted to match native format */
/* conversion between packed native formats and individual pixel addressing */
init_pixelmask(&x_shift, &y_shift, &xy_mask, &pixelmask);
luaL_newmetatable(L, ROCKLUA_IMAGE);
lua_pushvalue(L, -1); /* pushes the metatable */
lua_setfield(L, -2, "__index"); /* metatable.__index = metatable */
luaL_register(L, NULL, rli_lib);
return 1;
}
/*
* -----------------------------
*
@ -1402,7 +1386,7 @@ RB_WRAP(read_bmp_file)
}
#define R(NAME) {#NAME, rock_##NAME}
const luaL_Reg rocklib_img[] =
static const luaL_Reg rocklib_img[] =
{
/* Graphics */
#ifdef HAVE_LCD_BITMAP
@ -1430,3 +1414,19 @@ const luaL_Reg rocklib_img[] =
};
#undef R
LUALIB_API int luaopen_rock_img(lua_State *L)
{
/* some devices need x | y coords shifted to match native format */
/* conversion between packed native formats and individual pixel addressing */
init_pixelmask(&x_shift, &y_shift, &xy_mask, &pixelmask);
luaL_newmetatable(L, ROCKLUA_IMAGE);
lua_pushvalue(L, -1); /* pushes the metatable */
lua_setfield(L, -2, "__index"); /* metatable.__index = metatable */
luaL_register(L, LUA_ROCKLIBNAME, rocklib_img);
luaL_register(L, NULL, rli_lib);
return 1;
}

View file

@ -26,6 +26,6 @@
#define RLI_EXTENDED
#endif
LUALIB_API int rli_init(lua_State *L);
LUALIB_API int (luaopen_rock_img) (lua_State *L);
#endif /* _ROCKLIB_IMG_H_ */

View file

@ -24,6 +24,7 @@
#include "lauxlib.h"
#include "lualib.h"
#include "rocklib.h"
#include "rocklib_img.h"
#include "luadir.h"
@ -34,6 +35,7 @@ static const luaL_Reg lualibs[] = {
{LUA_STRLIBNAME, luaopen_string},
{LUA_OSLIBNAME, luaopen_os},
{LUA_ROCKLIBNAME, luaopen_rock},
{LUA_ROCKLIBNAME, luaopen_rock_img},
{LUA_BITLIBNAME, luaopen_bit},
{LUA_IOLIBNAME, luaopen_io},
{LUA_LOADLIBNAME, luaopen_package},