diff options
| author | Ray <raysan5@gmail.com> | 2019-01-10 16:57:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-10 16:57:30 +0100 |
| commit | 91ea00747838b38b0db4808ea43124d50d316a1e (patch) | |
| tree | f1428e583f4ed5ee8c7060c47da55e8ce0194882 /src | |
| parent | 93471b0a7c75fc675f27fc74dfda281eb8310a7a (diff) | |
| parent | 56173d7cf457413fd56e26967becc7c5054aa2cf (diff) | |
| download | raylib-91ea00747838b38b0db4808ea43124d50d316a1e.tar.gz raylib-91ea00747838b38b0db4808ea43124d50d316a1e.zip | |
Merge pull request #719 from MarcoLizza/window-visibility
Window visibility
Diffstat (limited to 'src')
| -rw-r--r-- | src/core.c | 32 | ||||
| -rw-r--r-- | src/raylib.h | 8 |
2 files changed, 36 insertions, 4 deletions
@@ -826,6 +826,31 @@ void SetWindowSize(int width, int height) #endif } +// Show the window +void ShowWindow() +{ +#if defined(PLATFORM_DESKTOP) + glfwShowWindow(window); +#endif +} + +// Hide the window +void HideWindow() +{ +#if defined(PLATFORM_DESKTOP) + glfwHideWindow(window); +#endif +} + +// 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 int GetScreenWidth(void) { @@ -2257,8 +2282,11 @@ 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_RESIZABLE) glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); // Resizable window - else glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE); // Avoid window being resizable + 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 if (configFlags & FLAG_WINDOW_UNDECORATED) glfwWindowHint(GLFW_DECORATED, GLFW_FALSE); // Border and buttons on Window else glfwWindowHint(GLFW_DECORATED, GLFW_TRUE); // Decorated window diff --git a/src/raylib.h b/src/raylib.h index ed863649..b554d10d 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -415,8 +415,9 @@ typedef enum { FLAG_WINDOW_RESIZABLE = 4, // Set to allow resizable window FLAG_WINDOW_UNDECORATED = 8, // Set to disable window decoration (frame and buttons) FLAG_WINDOW_TRANSPARENT = 16, // Set to allow transparent window - FLAG_MSAA_4X_HINT = 32, // Set to try enabling MSAA 4X - FLAG_VSYNC_HINT = 64 // Set to try enabling V-Sync on GPU + FLAG_WINDOW_HIDDEN = 32, // Set to create the window initially hidden + FLAG_MSAA_4X_HINT = 64, // Set to try enabling MSAA 4X + FLAG_VSYNC_HINT = 128 // Set to try enabling V-Sync on GPU } ConfigFlag; // Trace log type @@ -844,6 +845,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 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 |
