From 76b4fddee6106b60dbc6da6d7bcef61b42a3c310 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 29 Jul 2017 13:53:52 -0400 Subject: Added gui window Bound irrlicht's IGUIWindow to lua --- src/client/lua_api/gui/iguiskin.cpp | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/client/lua_api/gui/iguiskin.cpp (limited to 'src/client/lua_api/gui/iguiskin.cpp') diff --git a/src/client/lua_api/gui/iguiskin.cpp b/src/client/lua_api/gui/iguiskin.cpp new file mode 100644 index 0000000..edc994b --- /dev/null +++ b/src/client/lua_api/gui/iguiskin.cpp @@ -0,0 +1,64 @@ +extern "C" { + #include + #include + #include +} +#include +#include +#include + +#include "iguiutil.hpp" + +using namespace irr; +using namespace gui; + +extern IrrlichtDevice* device; + +#define register(l,n) lua_pushnumber(l,n);\ +lua_setglobal(l,#n); + +static int setskincolor(lua_State* L){ + irr::gui::EGUI_DEFAULT_COLOR which = (irr::gui::EGUI_DEFAULT_COLOR)luaL_optint(L,1,0); + + video::SColor c = video::SColor(0,0,0,0); + lua_popscolor(L,2,&c); + printf("Setting color %d to (%d, %d, %d, %d)\n",which,c.getRed(),c.getBlue(),c.getGreen(),c.getAlpha()); + IGUIEnvironment* env = device->getGUIEnvironment(); + env->getSkin()->setColor(which,c); + + printf("Color is now %d\n",env->getSkin()->getColor(which).getAlpha()); + + return 0; +} + +int register_skin(lua_State* L){ + register(L,EGDC_3D_DARK_SHADOW); + register(L,EGDC_3D_SHADOW); + register(L,EGDC_3D_FACE); + register(L,EGDC_3D_HIGH_LIGHT); + register(L,EGDC_ACTIVE_BORDER); + register(L,EGDC_ACTIVE_CAPTION); + register(L,EGDC_APP_WORKSPACE); + register(L,EGDC_BUTTON_TEXT); + register(L,EGDC_GRAY_TEXT); + register(L,EGDC_HIGH_LIGHT); + register(L,EGDC_HIGH_LIGHT_TEXT); + register(L,EGDC_INACTIVE_BORDER); + register(L,EGDC_INACTIVE_CAPTION); + register(L,EGDC_TOOLTIP); + register(L,EGDC_TOOLTIP_BACKGROUND); + register(L,EGDC_SCROLLBAR); + register(L,EGDC_WINDOW); + register(L,EGDC_WINDOW_SYMBOL); + register(L,EGDC_ICON); + register(L,EGDC_ICON_HIGH_LIGHT); + register(L,EGDC_GRAY_WINDOW_SYMBOL); + register(L,EGDC_EDITABLE); + register(L,EGDC_GRAY_EDITABLE); + register(L,EGDC_FOCUSED_EDITABLE); + + lua_pushcfunction(L,setskincolor); + lua_setglobal(L,"setskincolor"); + + return 0; +} -- cgit v1.2.3-70-g09d2