static int l_new(lua_State *l) { UI::Context *c = LuaObject<UI::Context>::CheckFromLua(1); Uint32 flags = _unpack_flags(l); Uint32 seed = 0; if (lua_gettop(l) > 2 && !lua_isnil(l, 3)) seed = luaL_checkinteger(l, 3); LuaObject<Face>::PushToLua(new Face(c, flags, seed)); return 1; }
static int l_pack_end(lua_State *l) { UI::Box *b = LuaObject<UI::Box>::CheckFromLua(1); Uint32 flags = _unpack_flags(l); if (lua_istable(l, 2)) { for (size_t i = 0; i < lua_rawlen(l, 2); i++) { lua_rawgeti(l, 2, i+1); b->PackEnd(LuaObject<UI::Widget>::CheckFromLua(-1), flags); lua_pop(l, 1); } } else b->PackEnd(LuaObject<UI::Widget>::CheckFromLua(2), flags); lua_pushvalue(l, 1); return 1; }