aboutsummaryrefslogtreecommitdiff
path: root/src/client/lua_api/gui/iguiskin.cpp
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2017-07-29 13:53:52 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2017-07-29 13:53:52 -0400
commit76b4fddee6106b60dbc6da6d7bcef61b42a3c310 (patch)
tree7c98499a8d32d6415a6cfb5f318943c744778172 /src/client/lua_api/gui/iguiskin.cpp
parentfa49161fe2d7e0a025c9fd8559815d56dfd1f427 (diff)
downloadbrokengine-76b4fddee6106b60dbc6da6d7bcef61b42a3c310.tar.gz
brokengine-76b4fddee6106b60dbc6da6d7bcef61b42a3c310.tar.bz2
brokengine-76b4fddee6106b60dbc6da6d7bcef61b42a3c310.zip
Added gui window
Bound irrlicht's IGUIWindow to lua
Diffstat (limited to 'src/client/lua_api/gui/iguiskin.cpp')
-rw-r--r--src/client/lua_api/gui/iguiskin.cpp64
1 files changed, 64 insertions, 0 deletions
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 <lua.h>
+ #include <lauxlib.h>
+ #include <lualib.h>
+}
+#include <irrlicht.h>
+#include <string>
+#include <stdio.h>
+
+#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;
+}