Add partial support for Windows 8.1 per-monitor DPI

Related to #235.
This commit is contained in:
Camilla Berglund
2015-11-01 17:29:13 +01:00
parent 6a41d5e7ad
commit 9f3636a103
4 changed files with 49 additions and 1 deletions
+13 -1
View File
@@ -99,6 +99,13 @@ static GLFWbool initLibraries(void)
GetProcAddress(_glfw.win32.dwmapi.instance, "DwmFlush");
}
_glfw.win32.shcore.instance = LoadLibraryW(L"shcore.dll");
if (_glfw.win32.shcore.instance)
{
_glfw.win32.shcore.SetProcessDPIAwareness = (SETPROCESSDPIAWARENESS_T)
GetProcAddress(_glfw.win32.shcore.instance, "SetProcessDPIAwareness");
}
return GLFW_TRUE;
}
@@ -114,6 +121,9 @@ static void terminateLibraries(void)
if (_glfw.win32.dwmapi.instance)
FreeLibrary(_glfw.win32.dwmapi.instance);
if (_glfw.win32.shcore.instance)
FreeLibrary(_glfw.win32.shcore.instance);
}
// Create key code translation tables
@@ -328,7 +338,9 @@ int _glfwPlatformInit(void)
createKeyTables();
if (_glfw_SetProcessDPIAware)
if (_glfw_SetProcessDPIAwareness)
_glfw_SetProcessDPIAwareness(PROCESS_PER_MONITOR_DPI_AWARE);
else if (_glfw_SetProcessDPIAware)
_glfw_SetProcessDPIAware();
if (!_glfwRegisterWindowClass())