/*** Utilities for drawing GUI things on the screen @module gui */ #include #include #include #include extern "C" { #include #include #include } #include #include "gui/iguibutton.hpp" #include "gui/iguilabel.hpp" #include "gui/iguiwindow.hpp" #include "gui/iguiskin.hpp" #include "gui/iguicheckbox.hpp" #include "gui/iguiimage.hpp" #include "gui/iguieditbox.hpp" #include "../callbackhandeler.hpp" #include "guiparts.hpp" using namespace irr; using namespace gui; using namespace core; extern IrrlichtDevice* device; //Things from guiparts.hpp std::map iguielements; IrrlichtDevice* guidevice; //long gui_elenum; //std::vector guielements(1); lua_State* tL; int screenwidth(lua_State* L); int screenheight(lua_State* L); void load_guifuncs(lua_State* L){ printf("Started loading gui...\n"); tL = L; guidevice = device; //gui_elenum = 0; //guielements[0] = NULL; //Various enums register_skin(L); lua_newtable(L); lua_setglobal(L,"gui"); //printf("Registering label...\n"); iguilabel_register(L); //printf("Registering checkbox...\n"); iguicheckbox_register(L); //printf("Registering window...\n"); iguiwindow_register(L,device); //printf("Registering guiimage\n"); iguiimage_register(L); //printf("Registering button\n"); iguibutton_register(L); iguieditbox_register(L); lua_pushcfunction(L,screenwidth); lua_setglobal(L,"scrw"); lua_pushcfunction(L,screenheight); lua_setglobal(L,"scrh"); } int screenheight(lua_State* L){ core::rect dim = guidevice->getGUIEnvironment()->getRootGUIElement()->getAbsoluteClippingRect(); lua_pushnumber(L,dim.getHeight()); //printf("Got screen height:%d\n",dim.getWidth()); return 1; } int screenwidth(lua_State* L){ core::rect dim = guidevice->getGUIEnvironment()->getRootGUIElement()->getAbsoluteClippingRect(); lua_pushnumber(L,dim.getWidth()); //printf("Got screen width:%d\n",dim.getWidth()); return 1; }