EvidyonGUIButton* EvidyonGUIScrollableButtonList::button(int id) { GUIComponent* component = list_.getComponent(id); if (!component) { component = new Button(this, id); GUICanvas* canvas = component->getCanvas(); canvas->alignXLeft(0); canvas->alignYTop(0); canvas->relativeWidth(0); canvas->relativeHeight(0); canvas->relativeDepth(0.0f); list_.setComponent(id, component); } return reinterpret_cast<EvidyonGUIButton*>(component); }