X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=src%2Fgui.cpp;h=532a78645f05c821d463c6d1b671468ce10400f3;hp=c7dd4040f21879b3d7ad0f678dccadf8b89fb536;hb=c29f09b112d14ca0a37ee6733dc9748eb4e599c2;hpb=272a4db4154e3970be1f0c619fa592d7b6b89f74 diff --git a/src/gui.cpp b/src/gui.cpp index c7dd404..532a786 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -56,6 +56,7 @@ extern "C" { // Shared procedures (used by two or more objects) DEFINE_GSUBR ("add-button!", 1, 1, 1, irr_gui_addButton); DEFINE_GSUBR ("get-font", 1, 1, 1, irr_gui_getFont); + DEFINE_GSUBR ("set-max!", 2, 0, 0, irr_gui_setMax); DEFINE_GSUBR ("set-override-color!", 2, 0, 0, irr_gui_setOverrideColor); } @@ -99,6 +100,28 @@ extern "C" { } } + 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; + } + SCM irr_gui_setOverrideColor (SCM wrapped_obj, SCM color)