From 5adcc30a2e3984d2df59e228c9360edf47f63c7a Mon Sep 17 00:00:00 2001 From: Marco Lizza Date: Thu, 10 Jan 2019 14:54:55 +0100 Subject: Adding window visibility configuration flag. --- src/core.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/core.c') diff --git a/src/core.c b/src/core.c index 79404abe..b34afeff 100644 --- a/src/core.c +++ b/src/core.c @@ -2247,6 +2247,9 @@ static bool InitGraphicsDevice(int width, int height) //glfwWindowHint(GLFW_AUX_BUFFERS, 0); // Number of auxiliar buffers // Check some Window creation flags + if (configFlags & FLAG_WINDOW_HIDDEN) glfwWindowHint(GLFW_VISIBLE, GL_FALSE); // Visible window + else glfwWindowHint(GLFW_VISIBLE, GL_TRUE); // Window initially hidden + if (configFlags & FLAG_WINDOW_RESIZABLE) glfwWindowHint(GLFW_RESIZABLE, GL_TRUE); // Resizable window else glfwWindowHint(GLFW_RESIZABLE, GL_FALSE); // Avoid window being resizable -- cgit v1.2.3 From a15251bcdbcf5f89af3a5b2189aafcc8444948ab Mon Sep 17 00:00:00 2001 From: Marco Lizza Date: Thu, 10 Jan 2019 14:55:19 +0100 Subject: Adding window visibility functions. --- src/core.c | 18 ++++++++++++++++++ src/raylib.h | 2 ++ 2 files changed, 20 insertions(+) (limited to 'src/core.c') diff --git a/src/core.c b/src/core.c index b34afeff..36d71fd7 100644 --- a/src/core.c +++ b/src/core.c @@ -831,6 +831,24 @@ void SetWindowSize(int width, int height) #endif } +// Set window visibility +void SetWindowVisible(bool visible) +{ +#if defined(PLATFORM_DESKTOP) + if (visible) glfwShowWindow(window); + else glfwHideWindow(window); +#endif +} + +// Set window visibility +bool IsWindowVisible() +{ +#if defined(PLATFORM_DESKTOP) + return glfwGetWindowAttrib(window, GLFW_VISIBLE) != GL_FALSE; +#endif + return true; +} + // Get current screen width int GetScreenWidth(void) { diff --git a/src/raylib.h b/src/raylib.h index 9e254f97..0eda48c3 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -827,6 +827,8 @@ RLAPI void SetWindowPosition(int x, int y); // Set window RLAPI void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode) RLAPI void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) RLAPI void SetWindowSize(int width, int height); // Set window dimensions +RLAPI void SetWindowVisible(bool visible); // Set window visibility +RLAPI bool IsWindowVisible(); // Check if window is currently visible RLAPI int GetScreenWidth(void); // Get current screen width RLAPI int GetScreenHeight(void); // Get current screen height RLAPI void *GetWindowHandle(void); // Get native window handle -- cgit v1.2.3 From 6056a2a5cf2aa939a10e807e452ed43d4b67f1ce Mon Sep 17 00:00:00 2001 From: Marco Lizza Date: Thu, 10 Jan 2019 16:43:21 +0100 Subject: Reworking API upon suggestion. --- .../Notepad++/raylib_npp_parser/raylib_to_parse.h | 5 +++-- src/core.c | 23 ++++++++++++++-------- src/raylib.h | 5 +++-- 3 files changed, 21 insertions(+), 12 deletions(-) (limited to 'src/core.c') diff --git a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h index 84c21635..d492d249 100644 --- a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +++ b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h @@ -15,8 +15,9 @@ RLAPI void SetWindowPosition(int x, int y); // Set window RLAPI void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode) RLAPI void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) RLAPI void SetWindowSize(int width, int height); // Set window dimensions -RLAPI void SetWindowVisible(bool visible); // Set window visibility -RLAPI bool IsWindowVisible(); // Check if window is currently visible +RLAPI void ShowWindow(); // Show the window +RLAPI void HideWindow(); // Hide the window +RLAPI bool IsWindowHidden(); // Check if window is currently hidden RLAPI int GetScreenWidth(void); // Get current screen width RLAPI int GetScreenHeight(void); // Get current screen height diff --git a/src/core.c b/src/core.c index 36d71fd7..50666335 100644 --- a/src/core.c +++ b/src/core.c @@ -831,22 +831,29 @@ void SetWindowSize(int width, int height) #endif } -// Set window visibility -void SetWindowVisible(bool visible) +// Show the window +void ShowWindow() { #if defined(PLATFORM_DESKTOP) - if (visible) glfwShowWindow(window); - else glfwHideWindow(window); + glfwShowWindow(window); #endif } -// Set window visibility -bool IsWindowVisible() +// Hide the window +void HideWindow() { #if defined(PLATFORM_DESKTOP) - return glfwGetWindowAttrib(window, GLFW_VISIBLE) != GL_FALSE; + glfwHideWindow(window); #endif - return true; +} + +// Check if window is currently hidden +bool IsWindowHidden() +{ +#if defined(PLATFORM_DESKTOP) + return glfwGetWindowAttrib(window, GLFW_VISIBLE) == GL_FALSE; +#endif + return false; } // Get current screen width diff --git a/src/raylib.h b/src/raylib.h index 0eda48c3..f5380fbf 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -827,8 +827,9 @@ RLAPI void SetWindowPosition(int x, int y); // Set window RLAPI void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode) RLAPI void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) RLAPI void SetWindowSize(int width, int height); // Set window dimensions -RLAPI void SetWindowVisible(bool visible); // Set window visibility -RLAPI bool IsWindowVisible(); // Check if window is currently visible +RLAPI void ShowWindow(); // Show the window +RLAPI void HideWindow(); // Hide the window +RLAPI bool IsWindowHidden(); // Check if window is currently hidden RLAPI int GetScreenWidth(void); // Get current screen width RLAPI int GetScreenHeight(void); // Get current screen height RLAPI void *GetWindowHandle(void); // Get native window handle -- cgit v1.2.3