]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/event-receiver.cpp
make-event-receiver get-event-type
[guile-irrlicht.git] / src / event-receiver.cpp
index 12ff718059404c901409f46f62a0a0e1518cac8b..f8f8a5572c822c8e21386eb1e58b7e42869399bf 100644 (file)
@@ -29,7 +29,7 @@
 using namespace irr;
 
 SCM
-IEventRecevier_make (SCM proc_on_event)
+IEventReceiver_make (SCM proc_on_event)
 {
   class CustomReceiver : public IEventReceiver
   {
@@ -43,12 +43,13 @@ IEventRecevier_make (SCM proc_on_event)
 
     virtual bool OnEvent (const SEvent& event)
     {
-      return scm_to_bool (scm_call_1 (scm_on_event, scm_from_pointer ((void*)&event, NULL)));
+      SCM wrapped_event = scm_from_irr_pointer ("irrlicht irr", "<event>", (void*) &event);
+      return scm_to_bool (scm_call_1 (scm_on_event, wrapped_event));
     }
   };
 
   CustomReceiver* receiver = new CustomReceiver (proc_on_event);
-  return scm_from_pointer ((void*)receiver, NULL);
+  return scm_from_irr_pointer ("irrlicht irr", "<event-receiver>", (void*) receiver);
 }
 
 SCM
@@ -90,7 +91,7 @@ SEvent_SKeyInput_PressedDown (SCM event)
 void
 init_event_receiver (void)
 {
-  DEFINE_GSUBR ("IEventRecevier_make", 1, 0, 0, IEventRecevier_make);
+  DEFINE_GSUBR ("IEventReceiver_make", 1, 0, 0, IEventReceiver_make);
   DEFINE_GSUBR ("SEvent_EventType", 1, 0, 0, SEvent_EventType);
   DEFINE_GSUBR ("SEvent_SGUIEvent_Caller", 1, 0, 0, SEvent_SGUIEvent_Caller);
   DEFINE_GSUBR ("SEvent_SGUIEvent_EventType", 1, 0, 0, SEvent_SGUIEvent_EventType);