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

View file

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

View file

@ -1188,7 +1188,7 @@ RLI_LUA rli_clear(lua_State *L)
#endif /* RLI_EXTENDED */ #endif /* RLI_EXTENDED */
/* Rli Image methods exported to lua */ /* Rli Image methods exported to lua */
const struct luaL_reg rli_lib [] = static const struct luaL_reg rli_lib [] =
{ {
{"__tostring", rli_tostring}, {"__tostring", rli_tostring},
{"_data", rli_raw}, {"_data", rli_raw},
@ -1212,22 +1212,6 @@ const struct luaL_reg rli_lib [] =
{NULL, NULL} {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} #define R(NAME) {#NAME, rock_##NAME}
const luaL_Reg rocklib_img[] = static const luaL_Reg rocklib_img[] =
{ {
/* Graphics */ /* Graphics */
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
@ -1430,3 +1414,19 @@ const luaL_Reg rocklib_img[] =
}; };
#undef R #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 #define RLI_EXTENDED
#endif #endif
LUALIB_API int rli_init(lua_State *L); LUALIB_API int (luaopen_rock_img) (lua_State *L);
#endif /* _ROCKLIB_IMG_H_ */ #endif /* _ROCKLIB_IMG_H_ */

View file

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