]> 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 37c578b294d59766d6933b0e7dea0961db8415dd..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)
   {
-    wchar_t *wtext = (wchar_t*)malloc(strlen(text) + 1);
-    mbsrtowcs(wtext, &text, strlen(text) + 1, NULL);
+    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));
+    mbstowcs(wtext, text, strlen(text) + 1);
     ((irr::IrrlichtDevice*)device)->setWindowCaption(wtext);
   }
+
+  bool
+  irr_run(irr_IrrlichtDevice* device)
+  {
+    return ((irr::IrrlichtDevice*)device)->run();
+  }
+
+  void
+  irr_yield(irr_IrrlichtDevice* device)
+  {
+    ((irr::IrrlichtDevice*)device)->yield();
+  }
+
 }