Simplify console hide/show API

master
Marius Petcu 2018-02-18 12:51:36 +02:00
parent a870870a67
commit c9cfb3722a
7 changed files with 13 additions and 40 deletions

View File

@ -119,8 +119,7 @@ On Windows only, show/hide the console window. Only works when not running
from the Editor.
```
defos.show_console()
defos.hide_console()
defos.set_console_visible(bool_value)
bool_value = defos.is_console_visible()
```

View File

@ -130,22 +130,15 @@ static int is_maximized(lua_State *L)
// Windows console
static int show_console(lua_State *L)
static int set_console_visible(lua_State *L)
{
defos_show_console();
return 0;
}
static int hide_console(lua_State *L)
{
defos_hide_console();
defos_set_console_visible(checkboolean(L, 1));
return 0;
}
static int is_console_visible(lua_State *L)
{
bool isConsoleVisible = defos_is_console_visible();
lua_pushboolean(L, isConsoleVisible);
lua_pushboolean(L, defos_is_console_visible());
return 1;
}
@ -359,8 +352,7 @@ static const luaL_reg Module_methods[] =
{"is_fullscreen", is_fullscreen},
{"toggle_maximize", toggle_maximize},
{"is_maximized", is_maximized},
{"show_console", show_console},
{"hide_console", hide_console},
{"set_console_visible", set_console_visible},
{"is_console_visible", is_console_visible},
{"is_mouse_in_view", is_mouse_in_view},
{"on_mouse_leave", on_mouse_leave},

View File

@ -153,12 +153,8 @@ WinRect defos_get_view_size() {
return rect;
}
void defos_show_console() {
dmLogInfo("Method 'defos_show_console' is not supported in macOS");
}
void defos_hide_console() {
dmLogInfo("Method 'defos_hide_console' is not supported in macOS");
void defos_set_console_visible(bool visible) {
dmLogInfo("Method 'defos_set_console_visible' is not supported in macOS");
}
bool defos_is_console_visible() {

View File

@ -138,12 +138,8 @@ bool defos_is_console_visible() {
return false;
}
void defos_show_console() {
dmLogInfo("Method 'defos_show_console' is not supported in html5, it is meant for Windows builds only");
}
void defos_hide_console() {
dmLogInfo("Method 'defos_hide_console' is not supported in html5, it is meant for Windows builds only");
void defos_set_console_visible(bool visible) {
dmLogInfo("Method 'defos_set_console_visible' is not supported in html5, it is meant for Windows builds only");
}
void defos_disable_mouse_cursor() {

View File

@ -54,8 +54,7 @@ extern void defos_set_view_size(float x, float y, float w, float h);
extern WinRect defos_get_view_size();
extern bool defos_is_console_visible();
extern void defos_show_console();
extern void defos_hide_console();
extern void defos_set_console_visible(bool visible);
extern void defos_disable_mouse_cursor();
extern void defos_enable_mouse_cursor();

View File

@ -145,14 +145,9 @@ void defos_toggle_maximize()
}
}
void defos_show_console()
void defos_set_console_visible(bool visible)
{
::ShowWindow(::GetConsoleWindow(), SW_SHOW);
}
void defos_hide_console()
{
::ShowWindow(::GetConsoleWindow(), SW_HIDE);
::ShowWindow(::GetConsoleWindow(), visible ? SW_SHOW : SW_HIDE);
}
bool defos_is_console_visible()

View File

@ -80,11 +80,7 @@ function init(self)
-- Console related commands only work on Windows and in bundled builds not in editor builds
if system_name == "Windows" then
if defos.is_console_visible() then
defos.hide_console()
else
defos.show_console()
end
defos.set_console_visible(not defos.is_console_visible())
end
window.set_listener(window_callback)