X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fdevice.cpp;h=dbd251cc390b65d733bae8416f38446383ff62a8;hb=79e12d94cc21232477796a4e76fc2ddb5d88f9dc;hp=55c752fec4b1866a097dfd86a2169601d91297c2;hpb=41a6ad96e81a8d8153c54877c4c12f61100677a9;p=guile-irrlicht.git diff --git a/src/device.cpp b/src/device.cpp index 55c752f..dbd251c 100644 --- a/src/device.cpp +++ b/src/device.cpp @@ -25,7 +25,7 @@ #include "dimension2d.h" #include "driver-types.h" #include "gsubr.h" -#include "wchar.h" +#include "wrapped.h" using namespace irr; @@ -45,70 +45,70 @@ irr_createDevice (SCM device_type, scm_to_bool (fullscreen), scm_to_bool (stencilbuffer), scm_to_bool (vsync), - (IEventReceiver*)scm_to_pointer (receiver)); - return scm_from_pointer ((void*)device, NULL); + (IEventReceiver*)scm_to_irr_pointer (receiver)); + return scm_from_irr_pointer ("", (void*) device); } SCM IrrlichtDevice_getCursorControl (SCM device) { gui::ICursorControl* cursor_control = - ((IrrlichtDevice*)scm_to_pointer (device))->getCursorControl (); - return scm_from_pointer ((void*)cursor_control, NULL); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->getCursorControl (); + return scm_from_irr_pointer ("", (void*) cursor_control); } SCM IrrlichtDevice_getFileSystem (SCM device) { io::IFileSystem* file_system = - ((IrrlichtDevice*)scm_to_pointer (device))->getFileSystem (); - return scm_from_pointer ((void*)file_system, NULL); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->getFileSystem (); + return scm_from_irr_pointer ("", (void*) file_system); } SCM IrrlichtDevice_getGUIEnvironment (SCM device) { gui::IGUIEnvironment* gui_env = - ((IrrlichtDevice*)scm_to_pointer (device))->getGUIEnvironment (); - return scm_from_pointer ((void*)gui_env, NULL); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->getGUIEnvironment (); + return scm_from_irr_pointer ("", (void*) gui_env); } SCM IrrlichtDevice_getSceneManager (SCM device) { scene::ISceneManager* manager = - ((IrrlichtDevice*)scm_to_pointer (device))->getSceneManager (); - return scm_from_pointer ((void*)manager, NULL); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->getSceneManager (); + return scm_from_irr_pointer ("", (void*) manager); } SCM IrrlichtDevice_getTimer (SCM device) { ITimer* timer = - ((IrrlichtDevice*)scm_to_pointer (device))->getTimer (); - return scm_from_pointer ((void*)timer, NULL); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->getTimer (); + return scm_from_irr_pointer ("", (void*) timer); } SCM IrrlichtDevice_getVideoDriver (SCM device) { video::IVideoDriver* driver = - ((IrrlichtDevice*)scm_to_pointer (device))->getVideoDriver (); - return scm_from_pointer ((void*)driver, NULL); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->getVideoDriver (); + return scm_from_irr_pointer ("", (void*) driver); } SCM IrrlichtDevice_isWindowActive (SCM device) { return scm_from_bool - (((IrrlichtDevice*)scm_to_pointer (device))->isWindowActive ()); + (((IrrlichtDevice*)scm_to_irr_pointer (device))->isWindowActive ()); } SCM IrrlichtDevice_run (SCM device) { return scm_from_bool - (((IrrlichtDevice*)scm_to_pointer (device))->run ()); + (((IrrlichtDevice*)scm_to_irr_pointer (device))->run ()); } template @@ -116,8 +116,8 @@ SCM IrrlichtDevice_setEventReceiver (SCM device, SCM receiver) { - ((IrrlichtDevice*)scm_to_pointer (device))-> - setEventReceiver ((TEventReceiver)scm_to_pointer (receiver)); + ((IrrlichtDevice*)scm_to_irr_pointer (device))-> + setEventReceiver ((TEventReceiver)scm_to_irr_pointer (receiver)); return SCM_UNSPECIFIED; } @@ -125,7 +125,7 @@ SCM IrrlichtDevice_setResizable (SCM device, SCM resize) { - ((IrrlichtDevice*)scm_to_pointer (device))-> + ((IrrlichtDevice*)scm_to_irr_pointer (device))-> setResizable (scm_to_bool (resize)); return SCM_UNSPECIFIED; } @@ -134,15 +134,16 @@ SCM IrrlichtDevice_setWindowCaption (SCM device, SCM text) { - ((IrrlichtDevice*)scm_to_pointer (device))-> - setWindowCaption (scm_to_wide_char_string (text)); + wchar_t* wtext = (wchar_t*) scm_to_utf32_string (text); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->setWindowCaption (wtext); + free (wtext); return SCM_UNSPECIFIED; } SCM IrrlichtDevice_yield (SCM device) { - ((IrrlichtDevice*)scm_to_pointer (device))->yield (); + ((IrrlichtDevice*)scm_to_irr_pointer (device))->yield (); return SCM_UNSPECIFIED; }