Fix T72118: Enable Windows 10 Non-client DPI Scaling

Enables Windows 10 feature that automatically adjusts non-client area (title bar) on high-DPI displays.

Differential Revision: https://developer.blender.org/D6370

Reviewed by Brecht Van Lommel
This commit is contained in:
Harley Acheson 2019-12-05 16:50:30 -08:00
parent 61a02a7aa1
commit 601eafd104
Notes: blender-bot 2023-02-14 11:42:40 +01:00
Referenced by issue #72118, Render in new window on a screen with different resolution is glitchy
4 changed files with 5 additions and 8 deletions

View File

@ -1156,9 +1156,8 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
GHOST_ASSERT(system, "GHOST_SystemWin32::s_wndProc(): system not initialized");
if (hwnd) {
#if 0
// Disabled due to bug in Intel drivers, see T51959
if (msg == WM_NCCREATE) {
if (msg == WM_NCCREATE) {
// Tell Windows to automatically handle scaling of non-client areas
// such as the caption bar. EnableNonClientDpiScaling was introduced in Windows 10
HMODULE m_user32 = ::LoadLibrary("User32.dll");
@ -1166,13 +1165,11 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
GHOST_WIN32_EnableNonClientDpiScaling fpEnableNonClientDpiScaling =
(GHOST_WIN32_EnableNonClientDpiScaling)::GetProcAddress(m_user32,
"EnableNonClientDpiScaling");
if (fpEnableNonClientDpiScaling) {
fpEnableNonClientDpiScaling(hwnd);
}
}
}
#endif
GHOST_WindowWin32 *window = (GHOST_WindowWin32 *)::GetWindowLongPtr(hwnd, GWLP_USERDATA);
if (window) {

@ -1 +1 @@
Subproject commit a2fb7b56b6c99ca14aa1dd09659ad0242c1b1589
Subproject commit b0b6396312e7ceb78826d423f8f152ddba01c039

@ -1 +1 @@
Subproject commit 52b58daa9759d56e45aa6dabd90ec36910e7084a
Subproject commit 2f425cc128b8b709cc1ebf2c96ad372778f4aeda

@ -1 +1 @@
Subproject commit af1d8170e6fb19851fd547fe228bceede3375bfe
Subproject commit b52e7760ff6ccbcca73d2bbccc77f70ca2eaf98f