summaryrefslogtreecommitdiffstats
path: root/src/qtdiag
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-09-01 10:39:19 +0200
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-09-07 10:12:50 +0000
commit66593f07010f6019d04023841f7b402d3024587e (patch)
treec32b8fef661b219fb81a746043a6e705827266a7 /src/qtdiag
parent2360e764664722dcc868e7a32b451cbf51aa45d5 (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.cpp36
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()