From 57b4d46dbc84d008db48675b5ff07ce4fd8fb058 Mon Sep 17 00:00:00 2001 From: Elliott Lester Date: Mon, 15 Aug 2022 13:19:47 -0700 Subject: [PATCH] Apply DPI Scaling to GUIModalMenu (#12693) Co-authored-by: sfan5 --- src/gui/modalMenu.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/modalMenu.cpp b/src/gui/modalMenu.cpp index cfc4d5c5a..9f5258cdf 100644 --- a/src/gui/modalMenu.cpp +++ b/src/gui/modalMenu.cpp @@ -19,6 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include +#include "client/renderingengine.h" #include "modalMenu.h" #include "gettext.h" #include "porting.h" @@ -26,7 +27,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifdef HAVE_TOUCHSCREENGUI #include "touchscreengui.h" -#include "client/renderingengine.h" #endif // clang-format off @@ -41,10 +41,13 @@ GUIModalMenu::GUIModalMenu(gui::IGUIEnvironment* env, gui::IGUIElement* parent, m_remap_dbl_click(remap_dbl_click) { m_gui_scale = std::max(g_settings->getFloat("gui_scaling"), 0.5f); + const float screen_dpi_scale = RenderingEngine::getDisplayDensity(); #ifdef HAVE_TOUCHSCREENGUI - float d = RenderingEngine::getDisplayDensity(); - m_gui_scale *= 1.1 - 0.3 * d + 0.2 * d * d; + m_gui_scale *= 1.1f - 0.3f * screen_dpi_scale + 0.2f * screen_dpi_scale * screen_dpi_scale; +#else + m_gui_scale *= screen_dpi_scale; #endif + setVisible(true); Environment->setFocus(this); m_menumgr->createdMenu(this);