]> git.jsancho.org Git - c-irrlicht.git/commitdiff
Get driver name
authorJavier Sancho <jsf@jsancho.org>
Tue, 22 Oct 2019 10:22:33 +0000 (12:22 +0200)
committerJavier Sancho <jsf@jsancho.org>
Tue, 22 Oct 2019 10:22:33 +0000 (12:22 +0200)
include/IVideoDriver.h
src/IGUIEnvironment.cpp
src/IVideoDriver.cpp
src/IrrlichtDevice.cpp

index 9e93413cc5fd2784c756ced29e3a06f22748cd2d..5da2d39f0ca5f6d045ca0dff03370e6d523d8281 100644 (file)
@@ -45,7 +45,10 @@ extern "C" {
   irr_video_endScene(irr_video_IVideoDriver* driver);
 
   int
-  irr_getFPS(irr_video_IVideoDriver* driver);
+  irr_video_getFPS(irr_video_IVideoDriver* driver);
+
+  const char*
+  irr_video_getName(irr_video_IVideoDriver* driver);
 
   irr_video_ITexture*
   irr_video_getTexture(irr_video_IVideoDriver* driver,
index 927c0b986b943441ec061e29a687e49766e9fa92..57d6bb94571f387b1e11a6d4be581806c1d3f418 100644 (file)
@@ -36,7 +36,7 @@ extern "C" {
   {
     // Convert to wide 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);
 
     // Make rectangle
     irr::core::rect<irr::s32> rect =
index 0033729a3d5715f7047991e4c4b10187eef4f866..3b77b9106a6b0f70bd9d945e79264765421b1da2 100644 (file)
@@ -20,6 +20,7 @@
 */
 
 #include <irrlicht/irrlicht.h>
+#include <wchar.h>
 #include "IVideoDriver.h"
 
 extern "C" {
@@ -65,11 +66,21 @@ extern "C" {
   }
 
   int
-  irr_getFPS(irr_video_IVideoDriver* driver)
+  irr_video_getFPS(irr_video_IVideoDriver* driver)
   {
     return ((irr::video::IVideoDriver*)driver)->getFPS();
   }
 
+  const char*
+  irr_video_getName(irr_video_IVideoDriver* driver)
+  {
+    const wchar_t *wname = ((irr::video::IVideoDriver*)driver)->getName();
+    size_t nbytes = wcslen(wname) + 1;
+    char *name = (char*)malloc(nbytes);
+    wcstombs(name, wname, nbytes);
+    return name;
+  }
+
   irr_video_ITexture*
   irr_video_getTexture(irr_video_IVideoDriver* driver,
                        const char* filename)
index 41a6d1d647c8d5ef1fdae7a883327a0cef615222..d00ba45e93dad73102ec11717413f5c60c4c78ad 100644 (file)
@@ -65,7 +65,7 @@ extern "C" {
                        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);
   }