]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/cursor-control.cpp
reference counted refactor
[guile-irrlicht.git] / src / cursor-control.cpp
index ada992f7fbb0bb0319ec161a3bbb02414ef0f00f..1147eab54191ab35ad655b9ef0c6ce103c5ac8c9 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "cursor-control.h"
 #include "device.h"
+#include "gsubr.h"
 #include "position2d.h"
 #include "wrapped.h"
 
@@ -33,8 +34,7 @@ extern "C" {
   init_cursor_control (void)
   {
     init_cursor_control_type ();
-    scm_c_define_gsubr ("get-cursor-control", 1, 0, 0, (scm_t_subr)irr_getCursorControl);
-    scm_c_export ("get-cursor-control", NULL);
+    DEFINE_GSUBR ("get-cursor-control", 1, 0, 0, irr_getCursorControl);
   }
 
   DEFINE_WRAPPED_TYPE (irr::gui::ICursorControl*, "cursor-control",
@@ -49,6 +49,13 @@ extern "C" {
     return wrap_cursor_control (cursor_control);
   }
 
+  SCM
+  irr_gui_getPosition (SCM wrapped_cursor_control)
+  {
+    irr::gui::ICursorControl* control = unwrap_cursor_control (wrapped_cursor_control);
+    return scm_from_position2d_s32 (control->getPosition ());
+  }
+
   SCM
   irr_gui_setPosition (SCM wrapped_cursor_control,
                        SCM position)