LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { if (msg == WM_SETCURSOR) { if (LOWORD(lParam) == HTCLIENT && !MouseShouldBeGrabbed()) { SetCursor(LoadCursor(NULL, IDC_ARROW)); return true; } } else if (msg == WM_SYSCOMMAND) { if ((wParam & 0xfff0) == SC_MAXIMIZE) { ToggleFullScreen(); return true; } else if ((wParam & 0xfff0) == SC_KEYMENU) return false; } else if (msg == WM_SYSKEYDOWN && wParam == VK_RETURN && !(lParam & 0x40000000)) { ToggleFullScreen(); return true; } else if (msg == WM_DEVICECHANGE) I_InitGamepad(); return CallWindowProc(oldProc, hwnd, msg, wParam, lParam); }
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { if (msg == WM_SETCURSOR) { if (LOWORD(lParam) == HTCLIENT && !MouseShouldBeGrabbed()) { SetCursor(LoadCursor(NULL, IDC_ARROW)); return true; } } else if (msg == WM_SYSCOMMAND) { if ((wParam & 0xFFF0) == SC_MAXIMIZE) { I_ToggleFullscreen(); return true; } else if ((wParam & 0xFFF0) == SC_KEYMENU) return false; } else if (msg == WM_SYSKEYDOWN && wParam == VK_RETURN && !(lParam & 0x40000000)) { I_ToggleFullscreen(); return true; } else if (msg == WM_DEVICECHANGE) I_InitGamepad(); else if (msg == WM_SIZE && !vid_fullscreen) blitfunc(); else if (msg == WM_GETMINMAXINFO) { LPMINMAXINFO minmaxinfo = (LPMINMAXINFO)lParam; minmaxinfo->ptMinTrackSize.x = ORIGINALWIDTH + windowborderwidth; minmaxinfo->ptMinTrackSize.y = ORIGINALWIDTH * 3 / 4 + windowborderheight; return false; } return CallWindowProc(oldProc, hwnd, msg, wParam, lParam); }