mirror of
https://github.com/ctruLua/ctruLua.git
synced 2025-10-27 16:39:29 +00:00
61 lines
No EOL
1.3 KiB
C
61 lines
No EOL
1.3 KiB
C
#include <sf2d.h>
|
|
|
|
#include <lua.h>
|
|
#include <lauxlib.h>
|
|
|
|
u32 color_default = RGBA8(255, 255, 255, 255);
|
|
u32 color_background = RGBA8(0, 0, 0, 255);
|
|
|
|
static int color_setDefault(lua_State *L) {
|
|
color_default = luaL_checkinteger(L, 1);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static int color_getDefault(lua_State *L) {
|
|
lua_pushinteger(L, color_default);
|
|
|
|
return 1;
|
|
}
|
|
|
|
static int color_setBackground(lua_State *L) {
|
|
color_background = luaL_checkinteger(L, 1);
|
|
sf2d_set_clear_color(color_background);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static int color_getBackground(lua_State *L) {
|
|
lua_pushinteger(L, color_background);
|
|
|
|
return 1;
|
|
}
|
|
|
|
static int color_RGBA8(lua_State *L) {
|
|
int r = luaL_checkinteger(L, 1);
|
|
int g = luaL_checkinteger(L, 2);
|
|
int b = luaL_checkinteger(L, 3);
|
|
int a = luaL_optinteger(L, 4, 255);
|
|
|
|
lua_pushinteger(L, RGBA8(r, g, b, a));
|
|
|
|
return 1;
|
|
}
|
|
|
|
static const struct luaL_Reg color_lib[] = {
|
|
{ "setDefault", color_setDefault },
|
|
{ "getDefault", color_getDefault },
|
|
{ "setBackground", color_setBackground },
|
|
{ "getBackground", color_getBackground },
|
|
{ "RGBA8", color_RGBA8 },
|
|
{ NULL, NULL }
|
|
};
|
|
|
|
int luaopen_color_lib(lua_State *L) {
|
|
luaL_newlib(L, color_lib);
|
|
return 1;
|
|
}
|
|
|
|
void load_color_lib(lua_State *L) {
|
|
luaL_requiref(L, "ctr.gfx.color", luaopen_color_lib, false);
|
|
} |