]> git.jsancho.org Git - c-irrlicht.git/blobdiff - src/IrrlichtDevice.cpp
Replace void* with appropiate types
[c-irrlicht.git] / src / IrrlichtDevice.cpp
index b78b1ecabdb5941cab89809a3dd590e27fa94e3d..190800e7c647ffef323d0214a3d701c1c2c94b6e 100644 (file)
 */
 
 #include <irrlicht/irrlicht.h>
+#include <wchar.h>
 #include "IrrlichtDevice.h"
 
 extern "C" {
-  void* irr_IrrlichtDevice_getVideoDriver(void* device)
+  irr_gui_IGUIEnvironment*
+  irr_IrrlichtDevice_getGUIEnvironment(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->getGUIEnvironment();
+  }
+
+  irr_scene_ISceneManager*
+  irr_IrrlichtDevice_getSceneManager(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->getSceneManager();
+  }
+
+  irr_video_IVideoDriver*
+  irr_IrrlichtDevice_getVideoDriver(irr_IrrlichtDevice* device)
   {
     return ((irr::IrrlichtDevice*)device)->getVideoDriver();
   }
+
+  void
+  irr_IrrlichtDevice_setWindowCaption(irr_IrrlichtDevice* device,
+                                      const char* text)
+  {
+    wchar_t *wtext = (wchar_t*)malloc((strlen(text) + 1) * sizeof(wchar_t));
+    mbsrtowcs(wtext, &text, strlen(text) + 1, NULL);
+    ((irr::IrrlichtDevice*)device)->setWindowCaption(wtext);
+  }
+
+  int
+  irr_IrrlichtDevice_run(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->run() ? 1 : 0;
+  }
+
+  int
+  irr_IrrlichtDevice_drop(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->drop() ? 1 : 0;
+  }
 }