summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-04-21 11:22:32 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-04-22 06:31:10 +0000
commitccfe33dc670a1491d9e1daa2ae17f5fe30484276 (patch)
tree4ef0c295d5fa702a23127a986712e05f959c39ac /src/widgets/kernel
parent5b54c352edbc597ec5283bc9cfdd77906350161f (diff)
QWidget::grab(): Use device pixel ratio.
Return pixmaps with device pixel ratio similar to QScreen::grabWindow(), cf c0963486ce689e778d59dafd26d36d8ef9e3ee74. Adapt kernel tests accordingly. Task-number: QTBUG-52137 Change-Id: I9ce276d5e2d87ae0d39c8639267d1ac283fed854 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qwidget.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index c57ca41815..48334cd169 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -5234,7 +5234,9 @@ QPixmap QWidget::grab(const QRect &rectangle)
if (!r.intersects(rect()))
return QPixmap();
- QPixmap res(r.size());
+ const qreal dpr = devicePixelRatioF();
+ QPixmap res((QSizeF(r.size()) * dpr).toSize());
+ res.setDevicePixelRatio(dpr);
if (!d->isOpaque)
res.fill(Qt::transparent);
d->render(&res, QPoint(), QRegion(r), renderFlags);