diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-09-01 10:39:19 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-09-07 10:12:50 +0000 |
commit | 66593f07010f6019d04023841f7b402d3024587e (patch) | |
tree | c32b8fef661b219fb81a746043a6e705827266a7 /src/qtdiag | |
parent | 2360e764664722dcc868e7a32b451cbf51aa45d5 (diff) |
qtdiag: Output native screen geometry and logical DPI, too.
Output the values of QPlatformScreen should they differ from
the vales obtained from QScreen.
Task-number: QTBUG-46615
Change-Id: I6ba4d4adc13d01cba65eb4f92889465fcb70a513
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Diffstat (limited to 'src/qtdiag')
-rw-r--r-- | src/qtdiag/qtdiag.cpp | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp index 39157c520..e1fc4238a 100644 --- a/src/qtdiag/qtdiag.cpp +++ b/src/qtdiag/qtdiag.cpp @@ -85,6 +85,12 @@ QTextStream &operator<<(QTextStream &str, const QSizeF &s) return str; } +QTextStream &operator<<(QTextStream &str, const QDpi &d) +{ + str << d.first << ',' << d.second; + return str; +} + QTextStream &operator<<(QTextStream &str, const QRect &r) { str << r.size() << '+' << r.x() << '+' << r.y(); @@ -390,26 +396,34 @@ QString qtDiag(unsigned flags) for (int s = 0; s < screenCount; ++s) { const QScreen *screen = screens.at(s); const QPlatformScreen *platformScreen = screen->handle(); + const QRect geometry = screen->geometry(); + const QDpi dpi(screen->logicalDotsPerInchX(), screen->logicalDotsPerInchY()); + const QDpi nativeDpi = platformScreen->logicalDpi(); + const QRect nativeGeometry = platformScreen->geometry(); str << '#' << ' ' << s << " \"" << screen->name() << '"' << " Depth: " << screen->depth() << " Primary: " << (screen == QGuiApplication::primaryScreen() ? "yes" : "no") - << "\n Geometry: " << screen->geometry() << " Available: " << screen->availableGeometry(); - if (screen->geometry() != screen->virtualGeometry()) + << "\n Geometry: " << geometry; + if (geometry != nativeGeometry) + str << " (native: " << nativeGeometry << ')'; + str << " Available: " << screen->availableGeometry(); + if (geometry != screen->virtualGeometry()) str << "\n Virtual geometry: " << screen->virtualGeometry() << " Available: " << screen->availableVirtualGeometry(); if (screen->virtualSiblings().size() > 1) str << "\n " << screen->virtualSiblings().size() << " virtual siblings"; str << "\n Physical size: " << screen->physicalSize() << " mm" - << " Refresh: " << screen->refreshRate() << " Hz"; - if (platformScreen) - str << " Power state: " << platformScreen->powerState(); + << " Refresh: " << screen->refreshRate() << " Hz" + << " Power state: " << platformScreen->powerState(); str << "\n Physical DPI: " << screen->physicalDotsPerInchX() << ',' << screen->physicalDotsPerInchY() - << " Logical DPI: " << screen->logicalDotsPerInchX() - << ',' << screen->logicalDotsPerInchY() - << "\n Factor: " << QHighDpiScaling::factor(screen) - << " DevicePixelRatio: " << screen->devicePixelRatio(); - if (platformScreen) - str << " Pixel density: " << platformScreen->pixelDensity(); + << " Logical DPI: " << dpi; + if (dpi != nativeDpi) + str << " (native: " << nativeDpi << ')'; + str << "\n "; + if (QHighDpiScaling::isActive()) + str << "High DPI scaling factor: " << QHighDpiScaling::factor(screen) << ' '; + str << "DevicePixelRatio: " << screen->devicePixelRatio() + << " Pixel density: " << platformScreen->pixelDensity(); str << "\n Primary orientation: " << screen->primaryOrientation() << " Orientation: " << screen->orientation() << " Native orientation: " << screen->nativeOrientation() |