aboutsummaryrefslogtreecommitdiff
path: root/src/client/lua_api/gui/iguielement.cpp
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2018-10-20 14:05:30 -0400
committerAlexander Pickering <alex@cogarr.net>2018-10-20 14:05:30 -0400
commit4a797a4226893b382ffc3c1f92e844f6743c7220 (patch)
tree5645ee6e58c0ac38e71230338901578ee572df2a /src/client/lua_api/gui/iguielement.cpp
parent6543a9aa301a8ebc67ff50a880bcff2e496fa17e (diff)
downloadbrokengine-4a797a4226893b382ffc3c1f92e844f6743c7220.tar.gz
brokengine-4a797a4226893b382ffc3c1f92e844f6743c7220.tar.bz2
brokengine-4a797a4226893b382ffc3c1f92e844f6743c7220.zip
Added more documentation
Added documentation for several gui elements also moved documentation of generic iguielements to an iguielement class Also added a setvisible() function to iguielements
Diffstat (limited to 'src/client/lua_api/gui/iguielement.cpp')
-rw-r--r--src/client/lua_api/gui/iguielement.cpp44
1 files changed, 42 insertions, 2 deletions
diff --git a/src/client/lua_api/gui/iguielement.cpp b/src/client/lua_api/gui/iguielement.cpp
index 81d339f..4ef5026 100644
--- a/src/client/lua_api/gui/iguielement.cpp
+++ b/src/client/lua_api/gui/iguielement.cpp
@@ -1,6 +1,15 @@
/*This file defines some things that all igui stuff can do*/
/***
-@module gui
+All gui elements inherit from iguielement.
+Some functions (like settext()) do different things for different elements.
+All gui elements can call the following callbacks:
+
+ onFocus(self)
+ onUnfous(self)
+ onHover(self)
+ onLeave(self)
+
+@classmod iguielement
*/
extern "C" {
#include <lua.h>
@@ -19,7 +28,7 @@ using namespace core;
using namespace gui;
/***
-Move a window (by an offset)
+Move an element (by an offset) from it's current position
@function guielement:move()
@tparam vector2d position The offset to move this element by
*/
@@ -40,6 +49,24 @@ int moveiguielement(lua_State* L){
}
/***
+Set the visibility of this element
+@function guielement:setvisible()
+@tparam boolean visible Should this element be visible?
+*/
+int setvisible(lua_State *L){
+ int v = lua_toboolean(L,-1);
+ lua_pop(L,1);
+
+ lua_getfield(L,-1,"guielement");
+ IGUIElement *el = (IGUIElement*)lua_touserdata(L,-1);//{element},ud_element
+ lua_pop(L,2);
+
+ el->setVisible(v == 1);
+
+ return 0;
+}
+
+/***
Find the rectangle that an element occupies
@function guielement:getabsrect()
@treturn rect The rectangle that this element occupies
@@ -60,6 +87,7 @@ int getiguiclippingrect(lua_State* L){
return 1;
}
+
/***
Find the rectangle that an element occupies that is visible to the user
@function guielement:getabsclippingrect()
@@ -212,3 +240,15 @@ int guigetid(lua_State* L){
return 1;
}
+extern const luaL_reg iguielement_m[] = {
+ {"move", moveiguielement},
+ {"setvisible", setvisible},
+ {"setrect", setrelrect},
+ {"getabsrect", getiguiclippingrect},
+ {"getabsclippingrect", getiguiabsclippingrect},
+ {"getrelrect", getiguirelrect},
+ {"settext", setiguitext},
+ {"gettext", getiguitext},
+ {"remove", removeiguielement},
+ {NULL, NULL}
+};