X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fwrapped.cpp;h=d569440f0b911e3d6b815f6a6be1ab49ac63b5b2;hb=79e12d94cc21232477796a4e76fc2ddb5d88f9dc;hp=81d413015d57397f4b451545689da85f2722d0dd;hpb=c4d9e46f268b4f7f738dd77685c632991125cec9;p=guile-irrlicht.git diff --git a/src/wrapped.cpp b/src/wrapped.cpp index 81d4130..d569440 100644 --- a/src/wrapped.cpp +++ b/src/wrapped.cpp @@ -19,9 +19,22 @@ . */ +#include #include #include "wrapped.h" +using namespace irr; + +/* Make a GOOPS instance from a C++ object pointer */ +SCM +scm_from_irr_pointer (const char* class_name, void* pointer) +{ + SCM scm_class = scm_variable_ref (scm_c_public_lookup ("irrlicht", 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)