]> git.jsancho.org Git - c-irrlicht.git/blobdiff - src/IrrlichtDevice.cpp
ICursorControl
[c-irrlicht.git] / src / IrrlichtDevice.cpp
index b78b1ecabdb5941cab89809a3dd590e27fa94e3d..ff416ce5968e5d0417f22aee4fda346450b11ff7 100644 (file)
 */
 
 #include <irrlicht/irrlicht.h>
+#include <wchar.h>
 #include "IrrlichtDevice.h"
 
 extern "C" {
-  void* irr_IrrlichtDevice_getVideoDriver(void* device)
+  irr_gui_ICursorControl*
+  irr_getCursorControl(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->getCursorControl();
+  }
+
+  irr_io_IFileSystem*
+  irr_getFileSystem(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->getFileSystem();
+  }
+
+  irr_gui_IGUIEnvironment*
+  irr_getGUIEnvironment(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->getGUIEnvironment();
+  }
+
+  irr_scene_ISceneManager*
+  irr_getSceneManager(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->getSceneManager();
+  }
+
+  irr_video_IVideoDriver*
+  irr_getVideoDriver(irr_IrrlichtDevice* device)
   {
     return ((irr::IrrlichtDevice*)device)->getVideoDriver();
   }
+
+  void
+  irr_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_run(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->run() ? 1 : 0;
+  }
+
+  int
+  irr_drop(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->drop() ? 1 : 0;
+  }
 }