diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-04-21 11:22:32 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-04-22 06:31:10 +0000 |
commit | ccfe33dc670a1491d9e1daa2ae17f5fe30484276 (patch) | |
tree | 4ef0c295d5fa702a23127a986712e05f959c39ac /src/widgets/kernel/qwidget.cpp | |
parent | 5b54c352edbc597ec5283bc9cfdd77906350161f (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/qwidget.cpp')
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 4 |
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); |