From 2831e232b886c5e3b0791ea5192f9e5194e6abf3 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Fri, 9 Mar 2018 23:55:49 -0500 Subject: Added IGUIImages Added the ability to display itextures on the gui --- src/client/lua_api/gui/simple.cpp | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/client/lua_api/gui/simple.cpp (limited to 'src/client/lua_api/gui/simple.cpp') diff --git a/src/client/lua_api/gui/simple.cpp b/src/client/lua_api/gui/simple.cpp new file mode 100644 index 0000000..8790069 --- /dev/null +++ b/src/client/lua_api/gui/simple.cpp @@ -0,0 +1,55 @@ +#include +extern "C" { + #include + #include + #include +} + +// {{startx, starty},{endx,endy}} +lua_torecti(lua_State* L, int number, int* sx, int* sy, int* ex, int* ey){ + lua_pushnumber(L,1);// ...,{},...,1 + lua_gettable(L,number);// ...,{{sx,sy},{ex,ey}},...,{sx,sy} + + lua_pushnumber(L,1);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},1 + lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},sx + *sx = lua_tonumber(L,-1);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},sx + + lua_pop(1);// ...,{{sx,sy},{ex,ey}},...,{sx,sy} + + lua_pushnumber(L,2);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},2 + lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{sx,sy},sy + *sy = lua_tonumber(L,-1); + + lua_pop(2);// ...,{{sx,sy},{ex,ey}},... + + + lua_pushnumber(L,2);// ...,{{sx,sy},{ex,ey}},...,2 + lua_gettable(L,number);// ...,{{sx,sy},{ex,ey}},...,{ex,ey} + lua_pushnumber(L,1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},1 + + lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ex + *ex = lua_tonumber(L,-1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ex + lua_pop(L,1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey} + + lua_pushnumber(L,2);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},2 + lua_gettable(L,-2);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ey + *ey = lua_tonumber(L,-1);// ...,{{sx,sy},{ex,ey}},...,{ex,ey},ey + + lua_pop(L,2);// ...,{{sx,sy},{ex,ey}},... +} + +int addIGUIButton(lua_State* L){ + IGUIEnvironment env = lua_touserdata(L,1); + IGUIElement parent = lua_touserdata(L,2); + s32 id = lua_tonumber(L,3); + s32 sx,sy,ex,ey; + lua_torecti(L,4,&sx,&sy,&ex,&ey); + core::rect rect = core::rect(sx,sy,ex,ey); + IGUIElement* button = env->addButton(rect,parent,id, + +} + +void add_gui(lua_State* L){ + +} + -- cgit v1.2.3-70-g09d2