static inline void push_areas(lua_State *L, const std::vector<Area *> &areas, bool borders, bool data) { lua_newtable(L); size_t cnt = areas.size(); for (size_t i = 0; i < cnt; i++) { lua_pushnumber(L, areas[i]->id); push_area(L, areas[i], borders, data); lua_settable(L, -3); } }
// get_area(id, include_borders, include_data) int LuaAreaStore::l_get_area(lua_State *L) { NO_MAP_LOCK_REQUIRED; LuaAreaStore *o = checkobject(L, 1); AreaStore *ast = o->as; u32 id = luaL_checknumber(L, 2); bool include_borders = true; bool include_data = false; get_data_and_border_flags(L, 3, &include_borders, &include_data); const Area *res; res = ast->getArea(id); push_area(L, res, include_borders, include_data); return 1; }
void push_row_area (void) { push_area (); current_area->height = 0; }
void push_column_area (void) { push_area (); current_area->width = 0; }