|
@@ -366,7 +366,7 @@ void ImGui_ImplWin32_EnableDpiAwareness()
|
|
|
float ImGui_ImplWin32_GetDpiScaleForMonitor(void* monitor)
|
|
|
{
|
|
|
UINT xdpi = 96, ydpi = 96;
|
|
|
- if (IsWindows8Point1OrGreater())
|
|
|
+ if (::IsWindows8Point1OrGreater())
|
|
|
{
|
|
|
static HINSTANCE shcore_dll = ::LoadLibraryA("shcore.dll"); // Reference counted per-process
|
|
|
if (PFN_GetDpiForMonitor GetDpiForMonitorFn = (PFN_GetDpiForMonitor)::GetProcAddress(shcore_dll, "GetDpiForMonitor"))
|
|
@@ -389,13 +389,6 @@ float ImGui_ImplWin32_GetDpiScaleForHwnd(void* hwnd)
|
|
|
return ImGui_ImplWin32_GetDpiScaleForMonitor(monitor);
|
|
|
}
|
|
|
|
|
|
-float ImGui_ImplWin32_GetDpiScaleForRect(int x1, int y1, int x2, int y2)
|
|
|
-{
|
|
|
- RECT viewport_rect = { (LONG)x1, (LONG)y1, (LONG)x2, (LONG)y2 };
|
|
|
- HMONITOR monitor = ::MonitorFromRect(&viewport_rect, MONITOR_DEFAULTTONEAREST);
|
|
|
- return ImGui_ImplWin32_GetDpiScaleForMonitor(monitor);
|
|
|
-}
|
|
|
-
|
|
|
//--------------------------------------------------------------------------------------------------------
|
|
|
// IME (Input Method Editor) basic support for e.g. Asian language users
|
|
|
//--------------------------------------------------------------------------------------------------------
|
|
@@ -589,13 +582,8 @@ static void ImGui_ImplWin32_SetWindowAlpha(ImGuiViewport* viewport, float alpha)
|
|
|
static float ImGui_ImplWin32_GetWindowDpiScale(ImGuiViewport* viewport)
|
|
|
{
|
|
|
ImGuiViewportDataWin32* data = (ImGuiViewportDataWin32*)viewport->PlatformUserData;
|
|
|
- if (data && data->Hwnd)
|
|
|
- return ImGui_ImplWin32_GetDpiScaleForHwnd(data->Hwnd);
|
|
|
-
|
|
|
- // The first frame a viewport is created we don't have a window yet
|
|
|
- return ImGui_ImplWin32_GetDpiScaleForRect(
|
|
|
- (int)(viewport->Pos.x), (int)(viewport->Pos.y),
|
|
|
- (int)(viewport->Pos.x + viewport->Size.x), (int)(viewport->Pos.y + viewport->Size.y));
|
|
|
+ IM_ASSERT(data->Hwnd != 0);
|
|
|
+ return ImGui_ImplWin32_GetDpiScaleForHwnd(data->Hwnd);
|
|
|
}
|
|
|
|
|
|
// FIXME-DPI: Testing DPI related ideas
|
|
@@ -706,7 +694,7 @@ static void ImGui_ImplWin32_InitPlatformInterface()
|
|
|
platform_io.Platform_GetWindowMinimized = ImGui_ImplWin32_GetWindowMinimized;
|
|
|
platform_io.Platform_SetWindowTitle = ImGui_ImplWin32_SetWindowTitle;
|
|
|
platform_io.Platform_SetWindowAlpha = ImGui_ImplWin32_SetWindowAlpha;
|
|
|
- platform_io.Platform_GetWindowDpiScale = ImGui_ImplWin32_GetWindowDpiScale;
|
|
|
+ platform_io.Platform_GetWindowDpiScale = ImGui_ImplWin32_GetWindowDpiScale; // FIXME-DPI
|
|
|
platform_io.Platform_OnChangedViewport = ImGui_ImplWin32_OnChangedViewport; // FIXME-DPI
|
|
|
#if HAS_WIN32_IME
|
|
|
platform_io.Platform_SetImeInputPos = ImGui_ImplWin32_SetImeInputPos;
|