+ SCM
+ irr_gui_addButton (SCM wrapped_obj,
+ SCM rectangle,
+ SCM rest)
+ {
+ if (gui_toolbar_p (wrapped_obj))
+ {
+ return irr_gui_IGUIToolBar_addButton (wrapped_obj, rest);
+ }
+ else if (gui_environment_p (wrapped_obj))
+ {
+ return irr_gui_IGUIEnvironment_addButton (wrapped_obj, rectangle, rest);
+ }
+ else
+ {
+ scm_error (scm_arg_type_key, NULL, "Cannot add button to object: ~S",
+ scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
+ }
+ }
+
+ SCM
+ irr_gui_getFont (SCM wrapped_obj,
+ SCM filename,
+ SCM rest)
+ {
+ if (gui_environment_p (wrapped_obj))
+ {
+ return irr_gui_IGUIEnvironment_getFont (wrapped_obj, filename);
+ }
+ else if (gui_skin_p (wrapped_obj))
+ {
+ return irr_gui_IGUISkin_getFont (wrapped_obj, rest);
+ }
+ else
+ {
+ scm_error (scm_arg_type_key, NULL, "Cannot get font from object: ~S",
+ scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
+ }
+ }
+
+ SCM
+ irr_gui_setMax (SCM wrapped_obj,
+ SCM max)
+ {
+#define SET_MAX(OBJ) OBJ->setMax (scm_to_int32 (max));
+
+ if (gui_edit_box_p (wrapped_obj))
+ {
+ SET_MAX (unwrap_gui_edit_box (wrapped_obj));
+ }
+ else if (gui_scrollbar_p (wrapped_obj))
+ {
+ SET_MAX (unwrap_gui_scrollbar (wrapped_obj));
+ }
+ else
+ {
+ scm_error (scm_arg_type_key, NULL, "Cannot set max to object: ~S",
+ scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
+ }
+ return SCM_UNSPECIFIED;
+ }
+