using namespace irr;
+template <typename T>
SCM
IGUIElement_getID (SCM gui_element)
{
- gui::IGUIElement* element = (gui::IGUIElement*) scm_to_irr_pointer (gui_element);
+ T element = (T) scm_to_irr_pointer (gui_element);
return scm_from_int32 (element->getID ());
}
void
init_gui_element (void)
{
- DEFINE_GSUBR ("IGUIElement_getID", 1, 0, 0, IGUIElement_getID);
+ DEFINE_GSUBR ("IGUIButton_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIButton*>);
+ DEFINE_GSUBR ("IGUIEditBox_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIEditBox*>);
+ DEFINE_GSUBR ("IGUIElement_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIElement*>);
+ DEFINE_GSUBR ("IGUIImage_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIImage*>);
+ DEFINE_GSUBR ("IGUIListBox_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIListBox*>);
+ DEFINE_GSUBR ("IGUIScrollBar_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIScrollBar*>);
+ DEFINE_GSUBR ("IGUIStaticText_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIStaticText*>);
+ DEFINE_GSUBR ("IGUIWindow_getID", 1, 0, 0, IGUIElement_getID<gui::IGUIWindow*>);
}