]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/wrapped.cpp
make-event-receiver get-event-type
[guile-irrlicht.git] / src / wrapped.cpp
index 81d413015d57397f4b451545689da85f2722d0dd..6da7adf5063ef7cce71dbd1539ceb8fca7993a5c 100644 (file)
 #include <libguile.h>
 #include "wrapped.h"
 
+/* Make a GOOPS instance from a C++ object pointer */
+SCM
+scm_from_irr_pointer (const char* module, const char* class_name, void* pointer)
+{
+  SCM scm_class = scm_variable_ref (scm_c_public_lookup (module, class_name));
+  SCM k_pointer = scm_from_utf8_keyword ("irr-pointer");
+  SCM scm_pointer = scm_from_pointer (pointer, NULL);
+  return scm_make (scm_list_3 (scm_class, k_pointer, scm_pointer));
+}
+
 /* Extract C++ irrlicht object pointer from Guile object */
 void*
 scm_to_irr_pointer (SCM obj)