]> git.jsancho.org Git - c-irrlicht.git/blobdiff - src/IrrlichtDevice.cpp
Use structs with casting, without classes replication
[c-irrlicht.git] / src / IrrlichtDevice.cpp
index e032edb0809ad2b4fe07ea0482a0563a624a58b9..512b9da11d72b1da68e8ca9ee582766e0bd5d9f5 100644 (file)
 #include "IrrlichtDevice.h"
 
 extern "C" {
-  void* irr_IrrlichtDevice_getSceneManager(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();
   }
 
-  void* irr_IrrlichtDevice_getVideoDriver(void* device)
+  irr_video_IVideoDriver*
+  irr_getVideoDriver(irr_IrrlichtDevice* device)
   {
     return ((irr::IrrlichtDevice*)device)->getVideoDriver();
   }
 
-  void irr_IrrlichtDevice_setWindowCaption(void* device, const char* text)
+  bool
+  irr_isWindowActive(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->isWindowActive();
+  }
+
+  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);
+    mbstowcs(wtext, text, strlen(text) + 1);
     ((irr::IrrlichtDevice*)device)->setWindowCaption(wtext);
   }
 
-  int irr_IrrlichtDevice_run(void* device)
+  bool
+  irr_run(irr_IrrlichtDevice* device)
   {
-    return ((irr::IrrlichtDevice*)device)->run() ? 1 : 0;
+    return ((irr::IrrlichtDevice*)device)->run();
   }
 
-  int irr_IrrlichtDevice_drop(void* device)
+  void
+  irr_yield(irr_IrrlichtDevice* device)
   {
-    return ((irr::IrrlichtDevice*)device)->drop() ? 1 : 0;
+    ((irr::IrrlichtDevice*)device)->yield();
   }
+
 }