]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/event-receiver.cpp
get-id
[guile-irrlicht.git] / src / event-receiver.cpp
index e97263e243168de467089caeea0c067f3a6922ac..c0728ff2a01e3e87070f5d4907c50aac607f5e41 100644 (file)
@@ -23,6 +23,7 @@
 #include <libguile.h>
 
 #include "event-receiver.h"
+#include "gui-element.h"
 #include "gsubr.h"
 #include "keycodes.h"
 #include "wrapped.h"
@@ -34,8 +35,9 @@ extern "C" {
   {
     init_event_receiver_type ();
     init_event_type ();
-    DEFINE_GSUBR ("event-key-input-key", 1, 0, 0, event_type);
-    DEFINE_GSUBR ("event-key-input-pressed", 1, 0, 0, event_type);
+    DEFINE_GSUBR ("event-gui-caller", 1, 0, 0, event_gui_caller);
+    DEFINE_GSUBR ("event-key-input-key", 1, 0, 0, event_key_input_key);
+    DEFINE_GSUBR ("event-key-input-pressed", 1, 0, 0, event_key_input_pressed);
     DEFINE_GSUBR ("event-type", 1, 0, 0, event_type);
     DEFINE_GSUBR ("make-event-receiver", 1, 0, 0, make_event_receiver);
   }
@@ -48,6 +50,12 @@ extern "C" {
                        init_event_type, event_p,
                        wrap_event, unwrap_event);
 
+  SCM
+  event_gui_caller (SCM event)
+  {
+    return wrap_gui_element (unwrap_event (event)->GUIEvent.Caller);
+  }
+
   SCM
   event_key_input_key (SCM event)
   {