diff --git a/lime/system/Display.hx b/lime/system/Display.hx index e64b0dbad..8637fa93a 100644 --- a/lime/system/Display.hx +++ b/lime/system/Display.hx @@ -29,6 +29,8 @@ class Display { } + public static function getName(i:Int):String { return lime_display_get_name(i); } + /** * Get the total number of connected displays * @return @@ -128,11 +130,11 @@ class Display { private static var lime_display_get_num_devices = function():Int { return 1; }; - */ - private static var lime_display_get_name = function(i:Int) { return "fake"; }; + */ + private static var lime_display_get_num_display_modes = function(i:Int) { return 1; }; @@ -147,9 +149,9 @@ class Display { #if (cpp || neko || nodejs) private static var lime_display_get_num_devices = System.load("lime", "lime_display_get_num_devices", 0); + private static var lime_display_get_name = System.load ("lime", "lime_display_get_name", 1); /* - private static var lime_display_get_name = System.load ("lime", "lime_display_get_name", 1); private static var lime_display_get_num_display_modes = System.load ("lime", "lime_display_get_num_display_modes", 1); private static var lime_display_get_display_mode = System.load ("lime", "lime_display_get_display_mode", 2); private static var lime_display_get_current_display_mode = System.load ("lime", "lime_display_get_current_display_mode", 1); diff --git a/project/include/system/Display.h b/project/include/system/Display.h index a93d71348..65d81ecf5 100644 --- a/project/include/system/Display.h +++ b/project/include/system/Display.h @@ -11,6 +11,7 @@ namespace lime { public: static int GetNumDevices (); + static const char* GetDisplayName (int displayIndex); }; diff --git a/project/src/ExternalInterface.cpp b/project/src/ExternalInterface.cpp index 00b148f90..f9fd0d1e2 100644 --- a/project/src/ExternalInterface.cpp +++ b/project/src/ExternalInterface.cpp @@ -391,6 +391,12 @@ namespace lime { } + value lime_display_get_name (value displayIndex) { + + return alloc_string (Display::GetDisplayName (val_int (displayIndex))); + + } + value lime_display_get_num_devices () { return alloc_int (Display::GetNumDevices()); @@ -1178,6 +1184,7 @@ namespace lime { DEFINE_PRIM (lime_font_render_glyph, 3); DEFINE_PRIM (lime_font_render_glyphs, 3); DEFINE_PRIM (lime_font_set_size, 2); + DEFINE_PRIM (lime_display_get_name, 1); DEFINE_PRIM (lime_display_get_num_devices, 0); DEFINE_PRIM (lime_gamepad_add_mappings, 1); DEFINE_PRIM (lime_gamepad_event_manager_register, 2); diff --git a/project/src/backend/sdl/SDLDisplay.cpp b/project/src/backend/sdl/SDLDisplay.cpp index 8a5082cf7..d4f01c905 100644 --- a/project/src/backend/sdl/SDLDisplay.cpp +++ b/project/src/backend/sdl/SDLDisplay.cpp @@ -10,5 +10,10 @@ namespace lime { } + static const char* GetDisplayName (int displayIndex) { + + return SDL_GetDisplayName(displayIndex); + + } } \ No newline at end of file