summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qscreen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qscreen.cpp')
-rw-r--r--src/gui/kernel/qscreen.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/gui/kernel/qscreen.cpp b/src/gui/kernel/qscreen.cpp
index 8e85fe1f7f..3d06fab5fc 100644
--- a/src/gui/kernel/qscreen.cpp
+++ b/src/gui/kernel/qscreen.cpp
@@ -77,7 +77,26 @@ QScreen::QScreen(QPlatformScreen *screen)
: QObject(*new QScreenPrivate(), nullptr)
{
Q_D(QScreen);
- d->setPlatformScreen(screen);
+ d->platformScreen = screen;
+ d->platformScreen->d_func()->screen = this;
+ d->orientation = d->platformScreen->orientation();
+
+ d->logicalDpi = QPlatformScreen::overrideDpi(d->platformScreen->logicalDpi());
+
+ d->refreshRate = d->platformScreen->refreshRate();
+ // safeguard ourselves against buggy platform behavior...
+ if (d->refreshRate < 1.0)
+ d->refreshRate = 60.0;
+
+ d->updateHighDpi();
+ d->updatePrimaryOrientation(); // derived from the geometry
+}
+
+void QScreenPrivate::updateLogicalDpi()
+{
+ Q_Q(QScreen);
+ logicalDpi = QPlatformScreen::overrideDpi(q->handle()->logicalDpi());
+ updateGeometriesWithSignals(); // updates geometries based on scale factor
}
void QScreenPrivate::updateGeometriesWithSignals()
@@ -107,25 +126,6 @@ void QScreenPrivate::emitGeometryChangeSignals(bool geometryChanged, bool availa
emit q->physicalDotsPerInchChanged(q->physicalDotsPerInch());
}
-void QScreenPrivate::setPlatformScreen(QPlatformScreen *screen)
-{
- Q_Q(QScreen);
- platformScreen = screen;
- platformScreen->d_func()->screen = q;
- orientation = platformScreen->orientation();
-
- logicalDpi = QPlatformScreen::overrideDpi(platformScreen->logicalDpi());
-
- refreshRate = platformScreen->refreshRate();
- // safeguard ourselves against buggy platform behavior...
- if (refreshRate < 1.0)
- refreshRate = 60.0;
-
- updateHighDpi();
- updatePrimaryOrientation(); // derived from the geometry
-}
-
-
/*!
Destroys the screen.
*/