adding new windows functions (#1357)
This commit is contained in:
parent
e4d891fa37
commit
dcbe481a28
2 changed files with 62 additions and 0 deletions
57
src/core.c
57
src/core.c
|
@ -350,6 +350,7 @@ typedef struct CoreData {
|
||||||
const char *title; // Window text title const pointer
|
const char *title; // Window text title const pointer
|
||||||
bool ready; // Flag to check if window has been initialized successfully
|
bool ready; // Flag to check if window has been initialized successfully
|
||||||
bool minimized; // Flag to check if window has been minimized
|
bool minimized; // Flag to check if window has been minimized
|
||||||
|
bool maximized; // Flag to check if window has been maximized
|
||||||
bool focused; // Flag to check if window has been focused
|
bool focused; // Flag to check if window has been focused
|
||||||
bool resized; // Flag to check if window has been resized
|
bool resized; // Flag to check if window has been resized
|
||||||
bool fullscreen; // Flag to check if fullscreen mode required
|
bool fullscreen; // Flag to check if fullscreen mode required
|
||||||
|
@ -501,6 +502,7 @@ static void WindowSizeCallback(GLFWwindow *window, int width, int height);
|
||||||
static void WindowIconifyCallback(GLFWwindow *window, int iconified); // GLFW3 WindowIconify Callback, runs when window is minimized/restored
|
static void WindowIconifyCallback(GLFWwindow *window, int iconified); // GLFW3 WindowIconify Callback, runs when window is minimized/restored
|
||||||
static void WindowFocusCallback(GLFWwindow *window, int focused); // GLFW3 WindowFocus Callback, runs when window get/lose focus
|
static void WindowFocusCallback(GLFWwindow *window, int focused); // GLFW3 WindowFocus Callback, runs when window get/lose focus
|
||||||
static void WindowDropCallback(GLFWwindow *window, int count, const char **paths); // GLFW3 Window Drop Callback, runs when drop files into window
|
static void WindowDropCallback(GLFWwindow *window, int count, const char **paths); // GLFW3 Window Drop Callback, runs when drop files into window
|
||||||
|
static void WindowMaximizeCallback(GLFWwindow *window, int maximized); // GLFW3 Window Maximize Callback, runs when window is maximized
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID)
|
#if defined(PLATFORM_ANDROID)
|
||||||
|
@ -874,6 +876,16 @@ bool IsWindowMinimized(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if window has been maximized (only PLATFORM_DESKTOP)
|
||||||
|
bool IsWindowMaximized(void)
|
||||||
|
{
|
||||||
|
#if defined(PLATFORM_DESKTOP)
|
||||||
|
return CORE.Window.maximized;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// Check if window has the focus
|
// Check if window has the focus
|
||||||
bool IsWindowFocused(void)
|
bool IsWindowFocused(void)
|
||||||
{
|
{
|
||||||
|
@ -1075,6 +1087,44 @@ void HideWindow(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Decorate the window (only PLATFORM_DESKTOP)
|
||||||
|
void DecorateWindow(void)
|
||||||
|
{
|
||||||
|
#if defined(PLATFORM_DESKTOP)
|
||||||
|
glfwSetWindowAttrib(CORE.Window.handle, GLFW_DECORATED, GLFW_TRUE);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// // Undecorate the window (only PLATFORM_DESKTOP)
|
||||||
|
void UndecorateWindow(void)
|
||||||
|
{
|
||||||
|
#if defined(PLATFORM_DESKTOP)
|
||||||
|
glfwSetWindowAttrib(CORE.Window.handle, GLFW_DECORATED, GLFW_FALSE);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// Maximize the window, if resizable (only PLATFORM_DESKTOP)
|
||||||
|
void MaximizeWindow(void)
|
||||||
|
{
|
||||||
|
#if defined(PLATFORM_DESKTOP)
|
||||||
|
if (glfwGetWindowAttrib(CORE.Window.handle, GLFW_RESIZABLE) == GLFW_TRUE)
|
||||||
|
{
|
||||||
|
glfwMaximizeWindow(CORE.Window.handle);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restore the window, if resizable (only PLATFORM_DESKTOP)
|
||||||
|
void RestoreWindow(void)
|
||||||
|
{
|
||||||
|
#if defined(PLATFORM_DESKTOP)
|
||||||
|
if (glfwGetWindowAttrib(CORE.Window.handle, GLFW_RESIZABLE) == GLFW_TRUE)
|
||||||
|
{
|
||||||
|
glfwRestoreWindow(CORE.Window.handle);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// Get current screen width
|
// Get current screen width
|
||||||
int GetScreenWidth(void)
|
int GetScreenWidth(void)
|
||||||
{
|
{
|
||||||
|
@ -2880,6 +2930,7 @@ static bool InitGraphicsDevice(int width, int height)
|
||||||
glfwSetWindowIconifyCallback(CORE.Window.handle, WindowIconifyCallback);
|
glfwSetWindowIconifyCallback(CORE.Window.handle, WindowIconifyCallback);
|
||||||
glfwSetWindowFocusCallback(CORE.Window.handle, WindowFocusCallback);
|
glfwSetWindowFocusCallback(CORE.Window.handle, WindowFocusCallback);
|
||||||
glfwSetDropCallback(CORE.Window.handle, WindowDropCallback);
|
glfwSetDropCallback(CORE.Window.handle, WindowDropCallback);
|
||||||
|
glfwSetWindowMaximizeCallback(CORE.Window.handle, WindowMaximizeCallback);
|
||||||
|
|
||||||
glfwMakeContextCurrent(CORE.Window.handle);
|
glfwMakeContextCurrent(CORE.Window.handle);
|
||||||
|
|
||||||
|
@ -3937,6 +3988,12 @@ static void WindowDropCallback(GLFWwindow *window, int count, const char **paths
|
||||||
|
|
||||||
CORE.Window.dropFilesCount = count;
|
CORE.Window.dropFilesCount = count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void WindowMaximizeCallback(GLFWwindow *window, int maximized)
|
||||||
|
{
|
||||||
|
if (maximized) CORE.Window.maximized = true; // The window was maximized
|
||||||
|
else CORE.Window.maximized = false; // The window was restored
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID)
|
#if defined(PLATFORM_ANDROID)
|
||||||
|
|
|
@ -871,6 +871,7 @@ RLAPI bool WindowShouldClose(void); // Check if KE
|
||||||
RLAPI void CloseWindow(void); // Close window and unload OpenGL context
|
RLAPI void CloseWindow(void); // Close window and unload OpenGL context
|
||||||
RLAPI bool IsWindowReady(void); // Check if window has been initialized successfully
|
RLAPI bool IsWindowReady(void); // Check if window has been initialized successfully
|
||||||
RLAPI bool IsWindowMinimized(void); // Check if window has been minimized
|
RLAPI bool IsWindowMinimized(void); // Check if window has been minimized
|
||||||
|
RLAPI bool IsWindowMaximized(void); // Check if window has been maximized (only PLATFORM_DESKTOP)
|
||||||
RLAPI bool IsWindowFocused(void); // Check if window has been focused
|
RLAPI bool IsWindowFocused(void); // Check if window has been focused
|
||||||
RLAPI bool IsWindowResized(void); // Check if window has been resized
|
RLAPI bool IsWindowResized(void); // Check if window has been resized
|
||||||
RLAPI bool IsWindowHidden(void); // Check if window is currently hidden
|
RLAPI bool IsWindowHidden(void); // Check if window is currently hidden
|
||||||
|
@ -878,6 +879,10 @@ RLAPI bool IsWindowFullscreen(void); // Check if wi
|
||||||
RLAPI void ToggleFullscreen(void); // Toggle fullscreen mode (only PLATFORM_DESKTOP)
|
RLAPI void ToggleFullscreen(void); // Toggle fullscreen mode (only PLATFORM_DESKTOP)
|
||||||
RLAPI void UnhideWindow(void); // Show the window
|
RLAPI void UnhideWindow(void); // Show the window
|
||||||
RLAPI void HideWindow(void); // Hide the window
|
RLAPI void HideWindow(void); // Hide the window
|
||||||
|
RLAPI void DecorateWindow(void); // Decorate the window (only PLATFORM_DESKTOP)
|
||||||
|
RLAPI void UndecorateWindow(void); // Undecorate the window (only PLATFORM_DESKTOP)
|
||||||
|
RLAPI void MaximizeWindow(void); // Maximize the window, if resizable (only PLATFORM_DESKTOP)
|
||||||
|
RLAPI void RestoreWindow(void); // Restore the window, if resizable (only PLATFORM_DESKTOP)
|
||||||
RLAPI void SetWindowIcon(Image image); // Set icon for window (only PLATFORM_DESKTOP)
|
RLAPI void SetWindowIcon(Image image); // Set icon for window (only PLATFORM_DESKTOP)
|
||||||
RLAPI void SetWindowTitle(const char *title); // Set title for window (only PLATFORM_DESKTOP)
|
RLAPI void SetWindowTitle(const char *title); // Set title for window (only PLATFORM_DESKTOP)
|
||||||
RLAPI void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP)
|
RLAPI void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue