diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index fca9b189a..81cb3babc 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -43,6 +43,7 @@ Other Changes: flag was also set, and _OpenOnArrow is frequently set along with _OpenOnDoubleClick). - TreeNode: Fixed bug where dragging a payload over a TreeNode() with either _OpenOnDoubleClick or _OpenOnArrow would open the node. (#143) +- Backends: Win32: Support for #define NOGDI, won't try to call GetDeviceCaps(). (#3137, #2327) ----------------------------------------------------------------------- diff --git a/examples/imgui_impl_win32.cpp b/examples/imgui_impl_win32.cpp index f8868ce69..aa00a1f9b 100644 --- a/examples/imgui_impl_win32.cpp +++ b/examples/imgui_impl_win32.cpp @@ -408,7 +408,7 @@ void ImGui_ImplWin32_EnableDpiAwareness() SetProcessDPIAware(); } -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(NOGDI) #pragma comment(lib, "gdi32") // Link with gdi32.lib for GetDeviceCaps() #endif @@ -421,6 +421,7 @@ float ImGui_ImplWin32_GetDpiScaleForMonitor(void* monitor) if (PFN_GetDpiForMonitor GetDpiForMonitorFn = (PFN_GetDpiForMonitor)::GetProcAddress(shcore_dll, "GetDpiForMonitor")) GetDpiForMonitorFn((HMONITOR)monitor, MDT_EFFECTIVE_DPI, &xdpi, &ydpi); } +#ifndef NOGDI else { const HDC dc = ::GetDC(NULL); @@ -428,6 +429,7 @@ float ImGui_ImplWin32_GetDpiScaleForMonitor(void* monitor) ydpi = ::GetDeviceCaps(dc, LOGPIXELSY); ::ReleaseDC(NULL, dc); } +#endif IM_ASSERT(xdpi == ydpi); // Please contact me if you hit this assert! return xdpi / 96.0f; }