From ed58795eaf03bdee0b1fae8d05ce5b86d17549f7 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 30 Jun 2018 16:15:05 -0600 Subject: Warning-less build All compile warning for -Wall have been fixed --- src/client/lua_api/gui/iguibutton.cpp | 112 +++++++++++++++++----------------- 1 file changed, 56 insertions(+), 56 deletions(-) (limited to 'src/client/lua_api/gui/iguibutton.cpp') diff --git a/src/client/lua_api/gui/iguibutton.cpp b/src/client/lua_api/gui/iguibutton.cpp index 86e6db8..25a30ed 100644 --- a/src/client/lua_api/gui/iguibutton.cpp +++ b/src/client/lua_api/gui/iguibutton.cpp @@ -24,53 +24,53 @@ using namespace gui; extern IrrlichtDevice* device; char lhashkey[20]; -static LIGUIElement* checkiguibutton(lua_State* L, int index){ - void* ud = luaL_checkudata(L,index,"gui.iguibutton"); - luaL_argcheck(L,ud != NULL, index, "'gui.iguibutton' expected"); - return (LIGUIElement*) ud; -} +//static LIGUIElement* checkiguibutton(lua_State* L, int index){ + //void* ud = luaL_checkudata(L,index,"gui.iguibutton"); + //luaL_argcheck(L,ud != NULL, index, "'gui.iguibutton' expected"); + //return (LIGUIElement*) ud; +//} -static LIGUIElement* checkiguibutton(lua_State* L){ - return checkiguibutton(L,1); -} +//static LIGUIElement* checkiguibutton(lua_State* L){ + //return checkiguibutton(L,1); +//} //The callback even for all gui buttons -static bool iguibuttonevent(irr::SEvent e){ - IGUIElement* caller = (IGUIElement*)e.GUIEvent.Caller; - printf("Some gui something somewhere was pressed\n"); - if(iguielements.find(caller) != iguielements.end()){ - printf("I know what reference is linked to that button: %d!\n",iguielements[caller]); - int ref = iguielements[caller]; - EGUI_EVENT_TYPE etype = e.GUIEvent.EventType; - if(etype == EGET_BUTTON_CLICKED){ - lua_rawgeti(tL,LUA_REGISTRYINDEX,ref); - printf("getting raw, the thing on the top of stack is a %s\n",luaL_typename(tL,-1)); - LIGUIElement* tbut = checkiguibutton(tL,-1); - int hashmapresponse; - char* hashkey = (char*)"onpress"; - int terror = hashmap_get(tbut->funcmap,hashkey,(void**)&hashmapresponse); - if(terror == MAP_OK){ - lua_rawgeti(tL,LUA_REGISTRYINDEX,hashmapresponse); - lua_call(tL,0,0); - }else{ - printf("Tried to call onpress on something that dosen't have onpress\n"); - } - }else if(etype == EGET_ELEMENT_HOVERED){ - printf("Trying to call onhovered!\n"); - lua_rawgeti(tL,LUA_REGISTRYINDEX,ref); - LIGUIElement* tbut = (LIGUIElement*)lua_touserdata(tL,-1); - int hashmapresponse; - int terror = hashmap_get(tbut->funcmap,(char*)"onhovered",(void**)&hashmapresponse); - if(terror == MAP_OK){ - lua_rawgeti(tL,LUA_REGISTRYINDEX,hashmapresponse); - lua_call(tL,0,0); - } - } - } - return false; -} - -//gui.newbutton({x,y},{width,height},text[,parent]) +//static bool iguibuttonevent(irr::SEvent e){ + //IGUIElement* caller = (IGUIElement*)e.GUIEvent.Caller; + //printf("Some gui something somewhere was pressed\n"); + //if(iguielements.find(caller) != iguielements.end()){ + //printf("I know what reference is linked to that button: %d!\n",iguielements[caller]); + //int ref = iguielements[caller]; + //EGUI_EVENT_TYPE etype = e.GUIEvent.EventType; + //if(etype == EGET_BUTTON_CLICKED){ + //lua_rawgeti(tL,LUA_REGISTRYINDEX,ref); + //printf("getting raw, the thing on the top of stack is a %s\n",luaL_typename(tL,-1)); + //LIGUIElement* tbut = checkiguibutton(tL,-1); + //int hashmapresponse; + //char* hashkey = (char*)"onpress"; + //int terror = hashmap_get(tbut->funcmap,hashkey,(void**)&hashmapresponse); + //if(terror == MAP_OK){ + //lua_rawgeti(tL,LUA_REGISTRYINDEX,hashmapresponse); + //lua_call(tL,0,0); + //}else{ + //printf("Tried to call onpress on something that dosen't have onpress\n"); + //} + //}else if(etype == EGET_ELEMENT_HOVERED){ + //printf("Trying to call onhovered!\n"); + //lua_rawgeti(tL,LUA_REGISTRYINDEX,ref); + //LIGUIElement* tbut = (LIGUIElement*)lua_touserdata(tL,-1); + //int hashmapresponse; + //int terror = hashmap_get(tbut->funcmap,(char*)"onhovered",(void**)&hashmapresponse); + //if(terror == MAP_OK){ + //lua_rawgeti(tL,LUA_REGISTRYINDEX,hashmapresponse); + //lua_call(tL,0,0); + //} + //} + //} + //return false; +//} + +//gui.newbutton({{sx,sy},{ex,ey}},"text"[,parent]) static int newiguibutton(lua_State* L){ printf("Createing gui button!\n"); @@ -86,19 +86,21 @@ static int newiguibutton(lua_State* L){ const wchar_t* label_w = irr::core::stringw(label_c).c_str(); lua_pop(L,1); - long x,y,w,h; - popvector2i(L,&w,&h); - popvector2i(L,&x,&y); + long sx,sy,ex,ey; + poprecti(L,&sx,&sy,&ex,&ey); - rect dim = rect(x,y,x+w,y+h); + rect dim = rect(sx,sy,ex,ey); IGUIEnvironment* env = device->getGUIEnvironment(); IGUIButton* but = env->addButton(dim,parent,-2,label_w,L""); - lua_pushlightuserdata(L,but);// - luaL_getmetatable(L,"gui.iguibutton"); - lua_setmetatable(L,-2); - - registerguicallback(but,EGET_BUTTON_CLICKED,iguibuttonevent); + lua_newtable(L);//{} + lua_pushlightuserdata(L,but);//{},ud_iguibutton + lua_setfield(L,-2,"guielement");//{guielement} + luaL_getmetatable(L,"gui.iguibutton");//{guielement},{m_iguibutton} + lua_setmetatable(L,-2);//{guielement} + + setelementcallback(L,EGET_BUTTON_CLICKED,"onClicked");// + printf("Finished registering callback\n"); return 1; @@ -106,8 +108,6 @@ static int newiguibutton(lua_State* L){ static const luaL_reg iguibutton_f[] = { {"new", newiguibutton}, - {"gethandeler", guigethandeler}, - {"sethandeler", guisethandeler}, {0,0}, }; @@ -118,7 +118,7 @@ static const luaL_reg iguibutton_m[] = { {0,0}, }; -int iguibutton_register(lua_State* L){ +void iguibutton_register(lua_State* L){ tL = L; luaL_newmetatable(L, "gui.iguibutton");//{m_iguibutton} -- cgit v1.2.3-70-g09d2