summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbscreen.cpp
diff options
context:
space:
mode:
authorMathieu Velten <matmaul@gmail.com>2018-06-06 18:07:03 +0200
committerMathieu Velten <matmaul@gmail.com>2018-10-17 15:23:51 +0000
commit5e6bbbc1b86905c4c64aba34632b668ef44dc8f4 (patch)
treeaabd8a8d785d9b930c33ab248984b31650d20d14 /src/plugins/platforms/xcb/qxcbscreen.cpp
parentb4bd5f9df3e69da707513ba544537c80a8564fb4 (diff)
xcb: use 128 as a reference DPI for small screens
This is a better version of 23b139038a1dc9a769a358ab112453abcdd39290 which was reverted. Task-number: QTBUG-68620 Task-number: QTBUG-53022 Task-number: QTBUG-57211 Change-Id: I0b37fc261945c542bbfb30cecfe4b0a97c655e3c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbscreen.cpp')
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index 8c0ce8dd7e..35e90e4206 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -747,7 +747,11 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation)
m_sizeMillimeters = sizeInMillimeters(geometry.size(), m_virtualDesktop->dpi());
qreal dpi = geometry.width() / physicalSize().width() * qreal(25.4);
- m_pixelDensity = qMax(1, qRound(dpi/96));
+
+ // Use 128 as a reference DPI on small screens. This favors "small UI" over "large UI".
+ qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96;
+
+ m_pixelDensity = qMax(1, qRound(dpi/referenceDpi));
m_geometry = geometry;
m_availableGeometry = geometry & m_virtualDesktop->workArea();
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);