diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/qhighdpiscaling_p.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/gui/kernel/qhighdpiscaling_p.h b/src/gui/kernel/qhighdpiscaling_p.h index bbf970ae25..422f76134a 100644 --- a/src/gui/kernel/qhighdpiscaling_p.h +++ b/src/gui/kernel/qhighdpiscaling_p.h @@ -279,13 +279,9 @@ inline QRegion fromNativeLocalExposedRegion(const QRegion &pixelRegion, const QW const qreal scaleFactor = QHighDpiScaling::factor(window); QRegion pointRegion; - for (const QRectF rect: pixelRegion) { - const QPointF topLeftP = rect.topLeft() / scaleFactor; - const QSizeF sizeP = rect.size() / scaleFactor; - pointRegion += QRect(QPoint(qFloor(topLeftP.x()), qFloor(topLeftP.y())), - QPoint(qCeil(topLeftP.x() + sizeP.width() - 1.0), - qCeil(topLeftP.y() + sizeP.height() - 1.0))); - } + for (const QRectF rect: pixelRegion) + pointRegion += QRectF(rect.topLeft() / scaleFactor, rect.size() / scaleFactor).toAlignedRect(); + return pointRegion; } |