int Vector2f__eq(lua_State* L) { Vector2f* lhs = LuaType<Vector2f>::check(L,1); LUACHECKOBJ(lhs); Vector2f* rhs = LuaType<Vector2f>::check(L,2); LUACHECKOBJ(rhs); lua_pushboolean(L, (*lhs) == (*rhs) ? 1 : 0); return 1; }
int Colourb__eq(lua_State* L) { Colourb* lhs = LuaType<Colourb>::check(L,1); LUACHECKOBJ(lhs); Colourb* rhs = LuaType<Colourb>::check(L,2); LUACHECKOBJ(rhs); lua_pushboolean(L, (*lhs) == (*rhs) ? 1 : 0); return 1; }
int Colourb__add(lua_State* L) { Colourb* lhs = LuaType<Colourb>::check(L,1); LUACHECKOBJ(lhs); Colourb* rhs = LuaType<Colourb>::check(L,2); LUACHECKOBJ(rhs); Colourb* res = new Colourb((*lhs) + (*rhs)); LuaType<Colourb>::push(L,res,true); return 1; }
int Vector2f__sub(lua_State* L) { Vector2f* lhs = LuaType<Vector2f>::check(L,1); LUACHECKOBJ(lhs); Vector2f* rhs = LuaType<Vector2f>::check(L,2); LUACHECKOBJ(rhs); Vector2f* res = new Vector2f(*lhs); (*res) -= (*rhs); LuaType<Vector2f>::push(L,res,true); return 1; }
int ColourfGetAttralpha(lua_State* L) { Colourf* obj = LuaType<Colourf>::check(L,1); LUACHECKOBJ(obj); lua_pushnumber(L,obj->alpha); return 1; }
int ElementDataGridRowGetAttrparent_grid(lua_State* L) { ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1); LUACHECKOBJ(obj); LuaType<ElementDataGrid>::push(L,obj->GetParentGrid(),false); return 1; }
int ElementDataGridRowGetAttrtable_relative_index(lua_State* L) { ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1); LUACHECKOBJ(obj); lua_pushinteger(L,obj->GetTableRelativeIndex()); return 1; }
//getters int ElementDataGridRowGetAttrrow_expanded(lua_State* L) { ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1); LUACHECKOBJ(obj); lua_pushboolean(L,obj->IsRowExpanded()); return 1; }
int DocumentGetAttrcontext(lua_State* L) { Document* doc = LuaType<Document>::check(L,1); LUACHECKOBJ(doc); LuaType<Context>::push(L,doc->GetContext(),false); return 1; }
//getters int DocumentGetAttrtitle(lua_State* L) { Document* doc = LuaType<Document>::check(L,1); LUACHECKOBJ(doc); lua_pushstring(L,doc->GetTitle().CString()); return 1; }
//[1] is the object, [2] is the previous key, [3] is the userdata int SelectOptionsProxy__ipairs(lua_State* L) { SelectOptionsProxy* proxy = LuaType<SelectOptionsProxy>::check(L,1); LUACHECKOBJ(proxy); int* pindex = (int*)lua_touserdata(L,3); if((*pindex) == -1) *pindex = 0; SelectOption* opt = NULL; while((*pindex) < proxy->owner->GetNumOptions()) { opt = proxy->owner->GetOption((*pindex)++); if(opt != NULL) break; } //we got to the end without finding an option if(opt == NULL) { lua_pushnil(L); lua_pushnil(L); } else //we found an option { lua_pushinteger(L,(*pindex)-1); //key lua_newtable(L); //value //fill the value LuaType<Rocket::Core::Element>::push(L,opt->GetElement()); lua_setfield(L,-2,"element"); lua_pushstring(L,opt->GetValue().CString()); lua_setfield(L,-2,"value"); } return 2; }
//getters int ElementFormControlGetAttrdisabled(lua_State* L) { ElementFormControl* efc = LuaType<ElementFormControl>::check(L,1); LUACHECKOBJ(efc); lua_pushboolean(L,efc->IsDisabled()); return 1; }
int ColourbGetAttralpha(lua_State* L) { Colourb* obj = LuaType<Colourb>::check(L,1); LUACHECKOBJ(obj); lua_pushinteger(L,obj->alpha); return 1; }
int ElementFormControlGetAttrvalue(lua_State* L) { ElementFormControl* efc = LuaType<ElementFormControl>::check(L,1); LUACHECKOBJ(efc); lua_pushstring(L,efc->GetValue().CString()); return 1; }
//[1] is the object, [2] is the last used key, [3] is the userdata int ContextDocumentsProxy__pairs(lua_State* L) { Document* doc = NULL; ContextDocumentsProxy* obj = LuaType<ContextDocumentsProxy>::check(L,1); LUACHECKOBJ(obj); int* pindex = (int*)lua_touserdata(L,3); if((*pindex) == -1) *pindex = 0; int num_docs = obj->owner->GetNumDocuments(); //because there can be missing indexes, make sure to continue until there //is actually a document at the index while((*pindex) < num_docs) { doc = obj->owner->GetDocument((*pindex)++); if(doc != NULL) break; } //If we found a document if(doc != NULL) { lua_pushstring(L,doc->GetId().CString()); LuaType<Document>::push(L,doc); } else //if we were at the end and didn't find a document { lua_pushnil(L); lua_pushnil(L); } return 2; }
//setters int ElementFormControlSetAttrdisabled(lua_State* L) { ElementFormControl* efc = LuaType<ElementFormControl>::check(L,1); LUACHECKOBJ(efc); efc->SetDisabled(CHECK_BOOL(L,2)); return 0; }
//getters int EventGetAttrcurrent_element(lua_State* L) { Event* evt = LuaType<Event>::check(L,1); LUACHECKOBJ(evt); Element* ele = evt->GetCurrentElement(); LuaType<Element>::push(L,ele,false); return 1; }
int ElementDataGridSetDataSource(lua_State* L, ElementDataGrid* obj) { LUACHECKOBJ(obj); const char* source = luaL_checkstring(L,1); obj->SetDataSource(source); return 0; }
//setter int ElementFormControlSelectSetAttrselection(lua_State* L) { ElementFormControlSelect* obj = LuaType<ElementFormControlSelect>::check(L,1); LUACHECKOBJ(obj); int selection = luaL_checkinteger(L,2); obj->SetSelection(selection); return 0; }
int ElementFormControlSelectGetAttrselection(lua_State* L) { ElementFormControlSelect* obj = LuaType<ElementFormControlSelect>::check(L,1); LUACHECKOBJ(obj); int selection = obj->GetSelection(); lua_pushinteger(L,selection); return 1; }
int ElementTextSetAttrtext(lua_State* L) { ElementText* obj = LuaType<ElementText>::check(L, 1); LUACHECKOBJ(obj); const char* text = luaL_checkstring(L,2); obj->SetText(text); return 0; }
int ElementTextGetAttrtext(lua_State* L) { ElementText* obj = LuaType<ElementText>::check(L, 1); LUACHECKOBJ(obj); String temp; lua_pushstring(L,obj->GetText().ToUTF8(temp).CString()); return 1; }
int ElementTabSetGetAttrnum_tabs(lua_State* L) { ElementTabSet* obj = LuaType<ElementTabSet>::check(L,1); LUACHECKOBJ(obj); int num = obj->GetNumTabs(); lua_pushinteger(L,num); return 1; }
//setter int ElementTabSetSetAttractive_tab(lua_State* L) { ElementTabSet* obj = LuaType<ElementTabSet>::check(L,1); LUACHECKOBJ(obj); int tab = luaL_checkint(L,2); obj->SetActiveTab(tab); return 0; }
int ColourbSetAttralpha(lua_State* L) { Colourb* obj = LuaType<Colourb>::check(L,1); LUACHECKOBJ(obj); byte alpha = (byte)luaL_checkinteger(L,2); obj->alpha = alpha; return 0; }
int ColourbSetAttrblue(lua_State* L) { Colourb* obj = LuaType<Colourb>::check(L,1); LUACHECKOBJ(obj); byte blue = (byte)luaL_checkinteger(L,2); obj->blue = blue; return 0; }
int ColourbSetAttrgreen(lua_State* L) { Colourb* obj = LuaType<Colourb>::check(L,1); LUACHECKOBJ(obj); byte green = (byte)luaL_checkinteger(L,2); obj->green = green; return 0; }
int EventGetAttrtype(lua_State* L) { Event* evt = LuaType<Event>::check(L,1); LUACHECKOBJ(evt); String type = evt->GetType(); lua_pushstring(L,type.CString()); return 1; }
int EventGetAttrtarget_element(lua_State* L) { Event* evt = LuaType<Event>::check(L,1); LUACHECKOBJ(evt); Element* target = evt->GetTargetElement(); LuaType<Element>::push(L,target,false); return 1; }
//setters int ColourbSetAttrred(lua_State* L) { Colourb* obj = LuaType<Colourb>::check(L,1); LUACHECKOBJ(obj); byte red = (byte)luaL_checkinteger(L,2); obj->red = red; return 0; }