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/iguiutil.cpp | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/client/lua_api/gui/iguiutil.cpp (limited to 'src/client/lua_api/gui/iguiutil.cpp') diff --git a/src/client/lua_api/gui/iguiutil.cpp b/src/client/lua_api/gui/iguiutil.cpp new file mode 100644 index 0000000..0e8d179 --- /dev/null +++ b/src/client/lua_api/gui/iguiutil.cpp @@ -0,0 +1,61 @@ +#include + +extern "C" { + #include + #include + #include +} + +#include + +#include +#include "iguiutil.hpp" + +int lua_popvector2(lua_State* L,int pos, float* x,float* y){ + float p[2]; + + for(int i = 0; i < 2; i++){ + lua_pushnumber(L,i+1); + lua_gettable(L,pos); + p[i] = (float) lua_tonumber(L,-1); + lua_pop(L,1); + } + + printf("Found vector (%f,%f)\n",p[0],p[1]); + *x = p[0]; + *y = p[1]; + return 0; +} + +int lua_popvector2i(lua_State* L,int pos, int* x,int* y){ + int p[2]; + + for(int i = 0; i < 2; i++){ + lua_pushnumber(L,i+1); + lua_gettable(L,pos); + p[i] = (int) lua_tonumber(L,-1); + lua_pop(L,1); + } + + printf("Found vector (%d,%d)\n",p[0],p[1]); + *x = p[0]; + *y = p[1]; + return 0; +} + +int lua_popscolor(lua_State* L, int pos, irr::video::SColor* c){ + int p[4]; + + for(int i = 0; i < 4; i++){ + lua_pushnumber(L,i+1); + lua_gettable(L,pos); + p[i] = (int) lua_tonumber(L,-1); + lua_pop(L,1); + } + c->setRed(p[0]); + c->setBlue(p[1]); + c->setGreen(p[2]); + c->setAlpha(p[3]); + + return 0; +} -- cgit v1.2.3-70-g09d2