From 329ba6af41be5736ff1a82943f746dc176ba9089 Mon Sep 17 00:00:00 2001 From: Nanako <469449812@qq.com> Date: Wed, 10 Jul 2024 22:18:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=90=AF=E7=94=A8=E8=87=AA?= =?UTF-8?q?=E5=8A=A8DPI=E6=84=9F=E7=9F=A5=EF=BC=8C=E5=B9=B6=E6=8F=90?= =?UTF-8?q?=E4=BE=9Bget=5Fdpi=5Fscale()=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- imgui_macos_main.mm | 4 ++++ imgui_main.h | 1 + imgui_windows_main.cpp | 6 +++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/imgui_macos_main.mm b/imgui_macos_main.mm index 26b3442..cf4f13b 100644 --- a/imgui_macos_main.mm +++ b/imgui_macos_main.mm @@ -67,6 +67,10 @@ void shutdown_imgui() { glfwTerminate(); } +float get_dpi_scale() { + return 1.0f; +} + void run_imgui() { init_imgui(); diff --git a/imgui_main.h b/imgui_main.h index b93c34b..580f28d 100644 --- a/imgui_main.h +++ b/imgui_main.h @@ -9,6 +9,7 @@ extern bool imgui_new_frame(); extern void draw_imgui(float delta_time); extern void render_imgui(); extern void shutdown_imgui(); +extern float get_dpi_scale(); extern void tick_imgui(float delta_time); diff --git a/imgui_windows_main.cpp b/imgui_windows_main.cpp index ae8fef5..09f084c 100644 --- a/imgui_windows_main.cpp +++ b/imgui_windows_main.cpp @@ -27,7 +27,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); // Main code int init_imgui() { // Create application window - // ImGui_ImplWin32_EnableDpiAwareness(); + ImGui_ImplWin32_EnableDpiAwareness(); wc = { sizeof(wc), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(nullptr), nullptr, nullptr, nullptr, nullptr, L"Arona", nullptr }; ::RegisterClassExW(&wc); std::string window_title = get_window_title(); @@ -133,6 +133,10 @@ void shutdown_imgui() { ::UnregisterClassW(wc.lpszClassName, wc.hInstance); } +float get_dpi_scale() { + return ImGui_ImplWin32_GetDpiScaleForHwnd(hwnd); +} + void run_imgui() { init_imgui(); while (true) {