From f9d5b8eb74c078867afe2b30621558cc5e174169 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Tue, 12 Oct 2021 17:34:42 +0200 Subject: [PATCH] ui: limit max scaling on small low-res screens (<= 640x480) --- core/rend/gui.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/rend/gui.cpp b/core/rend/gui.cpp index 17caa3178..a1bd0ecfe 100644 --- a/core/rend/gui.cpp +++ b/core/rend/gui.cpp @@ -163,6 +163,9 @@ void gui_init() //IM_ASSERT(font != NULL); #if !(defined(_WIN32) || defined(__APPLE__) || defined(__SWITCH__)) || defined(TARGET_IPHONE) scaling = std::max(1.f, screen_dpi / 100.f * 0.75f); + // Limit scaling on small low-res screens + if (settings.display.width <= 640 || settings.display.height <= 480) + scaling = std::min(1.5f, scaling); #endif if (scaling > 1) ImGui::GetStyle().ScaleAllSizes(scaling); @@ -258,7 +261,7 @@ void gui_init() // TODO Linux, iOS, ... #endif - INFO_LOG(RENDERER, "Screen DPI is %d, size %d x %d. Scaling by %.2f", screen_dpi, settings.display.width, settings.display.height, scaling); + NOTICE_LOG(RENDERER, "Screen DPI is %d, size %d x %d. Scaling by %.2f", screen_dpi, settings.display.width, settings.display.height, scaling); EventManager::listen(Event::Resume, emuEventCallback); EventManager::listen(Event::Start, emuEventCallback);