From 805821e01e3548e2aed6a2ced874d62134b5afb9 Mon Sep 17 00:00:00 2001 From: Hoe Hao Cheng Date: Sat, 22 Jul 2023 21:35:21 +0800 Subject: [PATCH] Core: decouple UpdateScreenScale from preprocessor defines --- Core/Core.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Core/Core.cpp b/Core/Core.cpp index 690776ea66..5fce2079d0 100644 --- a/Core/Core.cpp +++ b/Core/Core.cpp @@ -162,20 +162,19 @@ static bool IsWindowSmall(int pixelWidth, int pixelHeight) { // TODO: Feels like this belongs elsewhere. bool UpdateScreenScale(int width, int height) { bool smallWindow; -#if defined(USING_QT_UI) - g_display.dpi = System_GetPropertyFloat(SYSPROP_DISPLAY_DPI); + float g_logical_dpi = System_GetPropertyFloat(SYSPROP_DISPLAY_LOGICAL_DPI); + g_display.dpi = System_GetPropertyFloat(SYSPROP_DISPLAY_DPI); + + if (g_display.dpi < 0.0f) { + g_display.dpi = 96.0f; + } + if (g_logical_dpi < 0.0f) { + g_logical_dpi = 96.0f; + } + g_display.dpi_scale_x = g_logical_dpi / g_display.dpi; g_display.dpi_scale_y = g_logical_dpi / g_display.dpi; -#elif (PPSSPP_PLATFORM(WINDOWS) && !PPSSPP_PLATFORM(UWP)) || PPSSPP_PLATFORM(LINUX) - g_display.dpi = System_GetPropertyFloat(SYSPROP_DISPLAY_DPI); - g_display.dpi_scale_x = 96.0f / g_display.dpi; - g_display.dpi_scale_y = 96.0f / g_display.dpi; -#else - g_display.dpi = 96.0f; - g_display.dpi_scale_x = 1.0f; - g_display.dpi_scale_y = 1.0f; -#endif g_display.dpi_scale_real_x = g_display.dpi_scale_x; g_display.dpi_scale_real_y = g_display.dpi_scale_y;