]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/IrrlichtDevice.cpp
drop refactor
[guile-irrlicht.git] / src / IrrlichtDevice.cpp
index 026df21fa8c889118db96aee51462d323c07fb43..9cccd58067803b28daf69f74bd232e233ca1793d 100644 (file)
@@ -21,7 +21,6 @@
 
 #include <irrlicht/irrlicht.h>
 #include <libguile.h>
-#include <wchar.h>
 
 #include "dimension2d.h"
 #include "EDriverTypes.h"
@@ -29,7 +28,8 @@
 #include "IrrlichtDevice.h"
 #include "ISceneManager.h"
 #include "IVideoDriver.h"
-#include "util.h"
+#include "wchar.h"
+#include "wrapped.h"
 
 extern "C" {
 
@@ -45,7 +45,8 @@ extern "C" {
   }
 
   DEFINE_WRAPPED_TYPE (irr::IrrlichtDevice*, "device",
-                       init_device_type, wrap_device, unwrap_device);
+                       init_device_type, device_p,
+                       wrap_device, unwrap_device);
 
   SCM
   irr_createDevice (SCM deviceType,
@@ -67,42 +68,35 @@ extern "C" {
   }
 
   SCM
-  irr_getGUIEnvironment (SCM device_obj)
+  irr_getGUIEnvironment (SCM wrapped_device)
   {
-    irr::IrrlichtDevice* device = unwrap_device (device_obj);
-    irr::gui::IGUIEnvironment* gui_environment = device->getGUIEnvironment();
+    irr::IrrlichtDevice* device = unwrap_device (wrapped_device);
+    irr::gui::IGUIEnvironment* gui_environment = device->getGUIEnvironment ();
     return wrap_gui_environment (gui_environment);
   }
 
   SCM
-  irr_getSceneManager (SCM device_obj)
+  irr_getSceneManager (SCM wrapped_device)
   {
-    irr::IrrlichtDevice* device = unwrap_device (device_obj);
-    irr::scene::ISceneManager* scene_manager = device->getSceneManager();
+    irr::IrrlichtDevice* device = unwrap_device (wrapped_device);
+    irr::scene::ISceneManager* scene_manager = device->getSceneManager ();
     return wrap_scene_manager (scene_manager);
   }
 
   SCM
-  irr_getVideoDriver (SCM device_obj)
+  irr_getVideoDriver (SCM wrapped_device)
   {
-    irr::IrrlichtDevice* device = unwrap_device (device_obj);
-    irr::video::IVideoDriver* driver = device->getVideoDriver();
+    irr::IrrlichtDevice* device = unwrap_device (wrapped_device);
+    irr::video::IVideoDriver* driver = device->getVideoDriver ();
     return wrap_video_driver (driver);
   }
 
   SCM
-  irr_setWindowCaption (SCM device_obj,
+  irr_setWindowCaption (SCM wrapped_device,
                         SCM text)
   {
-    irr::IrrlichtDevice* device = unwrap_device (device_obj);
-    char* ctext;
-    wchar_t* wtext;
-
-    ctext = scm_to_utf8_stringn (text, NULL);
-    wtext = (wchar_t*)malloc ((strlen (ctext) + 1) * sizeof (wchar_t));
-    mbstowcs (wtext, ctext, strlen (ctext) + 1);
-
-    device->setWindowCaption (wtext);
+    irr::IrrlichtDevice* device = unwrap_device (wrapped_device);
+    device->setWindowCaption (scm_to_wide_char_string (text));
     return SCM_UNSPECIFIED;
   }