#include <irrlicht/irrlicht.h>
#include <libguile.h>
-
#include "gui-listbox.h"
#include "gsubr.h"
#include "wchar.h"
-#include "wrapped.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 ("add-listbox-item!", 2, 1, 0, irr_gui_IGUIListBox_addItem);
- }
-
- DEFINE_WRAPPED_TYPE (irr::gui::IGUIListBox*, "gui-listbox",
- init_gui_listbox_type, gui_listbox_p,
- wrap_gui_listbox, unwrap_gui_listbox);
-
- SCM
- irr_gui_IGUIListBox_addItem (SCM wrapped_gui_listbox,
- SCM text,
- SCM icon)
- {
- irr::gui::IGUIListBox* listbox = unwrap_gui_listbox (wrapped_gui_listbox);
- irr::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);
+ DEFINE_GSUBR ("gui_IGUIListBox_addItem", 2, 1, 0, gui_IGUIListBox_addItem);
}
}
#include <irrlicht/irrlicht.h>
#include <libguile.h>
-#include "wrapped.h"
-extern "C" {
+SCM
+gui_IGUIListBox_addItem (SCM gui_listbox,
+ SCM text,
+ SCM icon);
+extern "C" {
void
init_gui_listbox (void);
-
- DECLARE_WRAPPED_TYPE (irr::gui::IGUIListBox*, init_gui_listbox_type,
- gui_listbox_p, wrap_gui_listbox, unwrap_gui_listbox);
-
- SCM
- irr_gui_IGUIListBox_addItem (SCM wrapped_gui_listbox,
- SCM text,
- SCM icon);
-
}
#endif