X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fgui-listbox.cpp;h=ee82efface87ed52538933acc89f931c71fbfea9;hb=fbe90f42f1eddac5a30089b905ad405d007104bc;hp=1c81998d4070b948c0cabf47088a8e9ca7fc04f8;hpb=7006c85b72b5eff7cfc935624711cf0bfdaa1508;p=guile-irrlicht.git diff --git a/src/gui-listbox.cpp b/src/gui-listbox.cpp index 1c81998..ee82eff 100644 --- a/src/gui-listbox.cpp +++ b/src/gui-listbox.cpp @@ -21,20 +21,40 @@ #include #include - #include "gui-listbox.h" -#include "wrapped.h" +#include "gsubr.h" +#include "wchar.h" + + +using namespace irr; + + +SCM +gui_IGUIListBox_addItem (SCM gui_listbox, + SCM text, + SCM icon) +{ + gui::IGUIListBox* listbox = (gui::IGUIListBox*)scm_to_pointer (gui_listbox); + u32 item_id; + if (icon == SCM_UNDEFINED) + { + item_id = listbox->addItem (scm_to_wide_char_string (text)); + } + else + { + item_id = listbox->addItem (scm_to_wide_char_string (text), + scm_to_int32 (icon)); + } + return scm_from_uint32 (item_id); +} + extern "C" { void init_gui_listbox (void) { - init_gui_listbox_type (); + DEFINE_GSUBR ("gui_IGUIListBox_addItem", 2, 1, 0, gui_IGUIListBox_addItem); } - DEFINE_WRAPPED_TYPE (irr::gui::IGUIListBox*, "gui-listbox", - init_gui_listbox_type, gui_listbox_p, - wrap_gui_listbox, unwrap_gui_listbox); - }