From 4b7fcaca0faf412c93bd33f0ca54c5c33625ce8a Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 11 Jun 2023 12:00:02 +0200 Subject: [PATCH] Fix 07add7a9: [Win32] use full monitor resolution for fullscreen (#10985) On Windows in fullscreen you cannot reach the top with the cursor for the halve of the height of your toolbar. Additionally, on Win10 in fullscreen you can see the actual toolbar. --- src/video/win32_v.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index 2fb04cf2d2..32904ef12e 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -212,13 +212,18 @@ bool VideoDriver_Win32Base::MakeWindow(bool full_screen, bool resize) if (this->main_wnd != nullptr) { if (!_window_maximize && resize) SetWindowPos(this->main_wnd, 0, 0, 0, w, h, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOMOVE); } else { - /* Center on the workspace of the primary display. */ - MONITORINFO mi; - mi.cbSize = sizeof(mi); - GetMonitorInfo(MonitorFromWindow(0, MONITOR_DEFAULTTOPRIMARY), &mi); + int x = 0; + int y = 0; - int x = (mi.rcWork.right - mi.rcWork.left - w) / 2; - int y = (mi.rcWork.bottom - mi.rcWork.top - h) / 2; + /* For windowed mode, center on the workspace of the primary display. */ + if (!this->fullscreen) { + MONITORINFO mi; + mi.cbSize = sizeof(mi); + GetMonitorInfo(MonitorFromWindow(0, MONITOR_DEFAULTTOPRIMARY), &mi); + + x = (mi.rcWork.right - mi.rcWork.left - w) / 2; + y = (mi.rcWork.bottom - mi.rcWork.top - h) / 2; + } char window_title[64]; seprintf(window_title, lastof(window_title), "OpenTTD %s", _openttd_revision);