From 9bbb197d146d87c053d39a0dfdd9db4cffc53c61 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 17 Jul 2017 14:10:57 +0200 Subject: Work around small DPI resulting in blurry fonts, clamping auto DPI to minimum 96. Since we added auto DPI on Linux, on some systems the UI draws smaller than before due to the monitor reporting DPI values like 88. Blender font drawing gives quite blurry results for such slightly smaller DPI, apparently because the builtin font isn't really designed for such small font sizes. As a workaround this clamps the auto DPI to minimum 96, since the main case we are interested in supporting is high DPI displays anyway. Differential Revision: https://developer.blender.org/D2740 --- source/blender/windowmanager/intern/wm_window.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/windowmanager') diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 8afeb8e7b3d..e7a1643a1ff 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -379,6 +379,11 @@ void WM_window_set_dpi(wmWindow *win) { int auto_dpi = GHOST_GetDPIHint(win->ghostwin); + /* Clamp auto DPI to 96, since our font/interface drawing does not work well + * with lower sizes. The main case we are interested in supporting is higher + * DPI. If a smaller UI is desired it is still possible to adjust UI scale. */ + auto_dpi = MAX2(auto_dpi, 96); + /* Lazily init UI scale size, preserving backwards compatibility by * computing UI scale from ratio of previous DPI and auto DPI */ if (U.ui_scale == 0) { -- cgit v1.2.3