Add glfwSetWindowMaximizeCallback

Fixes #778.
This commit is contained in:
Camilla Berglund
2016-06-16 13:09:28 +02:00
parent 3752d68e7d
commit c156b50e4c
14 changed files with 194 additions and 30 deletions
+14 -17
View File
@@ -693,36 +693,33 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg,
case WM_SIZE:
{
const GLFWbool iconified =
!window->win32.iconified && wParam == SIZE_MINIMIZED;
const GLFWbool restored =
window->win32.iconified &&
(wParam == SIZE_RESTORED || wParam == SIZE_MAXIMIZED);
const GLFWbool iconified = wParam == SIZE_MINIMIZED;
const GLFWbool maximized = wParam == SIZE_MAXIMIZED ||
(window->win32.maximized &&
wParam != SIZE_RESTORED);
if (_glfw.win32.disabledCursorWindow == window)
updateClipRect(window);
if (iconified)
_glfwInputWindowIconify(window, GLFW_TRUE);
else if (restored)
_glfwInputWindowIconify(window, GLFW_FALSE);
if (window->win32.iconified != iconified)
_glfwInputWindowIconify(window, iconified);
if (window->win32.maximized != maximized)
_glfwInputWindowMaximize(window, maximized);
_glfwInputFramebufferSize(window, LOWORD(lParam), HIWORD(lParam));
_glfwInputWindowSize(window, LOWORD(lParam), HIWORD(lParam));
if (iconified)
if (window->monitor && window->win32.iconified != iconified)
{
window->win32.iconified = GLFW_TRUE;
if (window->monitor)
if (iconified)
releaseMonitor(window);
}
else if (restored)
{
window->win32.iconified = GLFW_FALSE;
if (window->monitor)
else
acquireMonitor(window);
}
window->win32.iconified = iconified;
window->win32.maximized = maximized;
return 0;
}