mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Examples: DPI: Hacked in a quick compile-and-run-everywhere call to SetProcessDpiAwareness(), will need to revisit.
This commit is contained in:
		| @@ -96,8 +96,28 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) | ||||
|     return DefWindowProc(hWnd, msg, wParam, lParam); | ||||
| } | ||||
|  | ||||
| // FIXME-DPI: For now we just want to call SetProcessDpiAwareness(PROCESS_PER_MONITOR_AWARE) without requiring SDK 8.1 or 10 | ||||
| void SetupDpiAwareness() | ||||
| { | ||||
|     typedef enum PROCESS_DPI_AWARENESS | ||||
|     { | ||||
|         PROCESS_DPI_UNAWARE = 0, | ||||
|         PROCESS_SYSTEM_DPI_AWARE = 1, | ||||
|         PROCESS_PER_MONITOR_DPI_AWARE = 2 | ||||
|     } PROCESS_DPI_AWARENESS; | ||||
|     if (HINSTANCE shcore_dll = ::LoadLibraryA("shcore.dll")) | ||||
|     { | ||||
|         typedef HRESULT(WINAPI * PFN_SetProcessDpiAwareness)(PROCESS_DPI_AWARENESS); | ||||
|         if (PFN_SetProcessDpiAwareness SetProcessDpiAwarenessFn = (PFN_SetProcessDpiAwareness)::GetProcAddress(shcore_dll, "SetProcessDpiAwareness")) | ||||
|             SetProcessDpiAwarenessFn(PROCESS_PER_MONITOR_DPI_AWARE); | ||||
|         ::FreeLibrary(shcore_dll); | ||||
|     } | ||||
| } | ||||
|  | ||||
| int main(int, char**) | ||||
| { | ||||
|     SetupDpiAwareness(); | ||||
|  | ||||
|     // Create application window | ||||
|     WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, _T("ImGui Example"), NULL }; | ||||
|     RegisterClassEx(&wc); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user