Non-resizable windows need to have their window rect set to the client rect

This commit is contained in:
Sam Lantinga 2017-11-28 18:31:18 -08:00
parent 88e3562ba0
commit 25df5a5ac9
1 changed files with 10 additions and 2 deletions

View File

@ -951,10 +951,18 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
case WM_NCCALCSIZE: case WM_NCCALCSIZE:
{ {
// When borderless, need to tell windows that the size of the non-client area is 0 if (wParam == TRUE && SDL_GetWindowFlags(data->window) & SDL_WINDOW_BORDERLESS) {
if ( wParam == TRUE && SDL_GetWindowFlags( data->window ) & SDL_WINDOW_BORDERLESS ) /* When borderless, need to tell windows that the size of the non-client area is 0 */
if (!(SDL_GetWindowFlags(data->window) & SDL_WINDOW_RESIZABLE)) {
int w, h;
NCCALCSIZE_PARAMS *params = (NCCALCSIZE_PARAMS *)lParam;
SDL_GetWindowSize(data->window, &w, &h);
params->rgrc[0].right = params->rgrc[0].left + w;
params->rgrc[0].bottom = params->rgrc[0].top + h;
}
return 0; return 0;
} }
}
break; break;
case WM_NCHITTEST: case WM_NCHITTEST: