From 95bce5b185ddc736405a952b9132e5c8f51275aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Wed, 27 May 2020 10:57:08 +0200 Subject: QHighDpi: window geometry scaling functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add functions which scales window geometry: framNativeWindowGeometry() toNativeWindowGeometry() These correctly handles top-level and child windows, where top-level window positions scale around the screen origin while child window positions scale around (0, 0). Modify call cites to use the new functions. We no longer need the isTopLevel checks at the call site. Change-Id: I0158672d46a3f52dfc7d37d021fc5cebd7859200 Reviewed-by: Tor Arne Vestbø Reviewed-by: Friedemann Kleint --- src/gui/kernel/qplatformwindow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/gui/kernel/qplatformwindow.cpp') diff --git a/src/gui/kernel/qplatformwindow.cpp b/src/gui/kernel/qplatformwindow.cpp index 4b7d7f5b7e..f9e984c9cb 100644 --- a/src/gui/kernel/qplatformwindow.cpp +++ b/src/gui/kernel/qplatformwindow.cpp @@ -849,7 +849,7 @@ QSize QPlatformWindow::windowSizeIncrement() const */ QRect QPlatformWindow::windowGeometry() const { - return QHighDpi::toNativePixels(window()->geometry(), window()); + return QHighDpi::toNativeWindowGeometry(window()->geometry(), window()); } /*! @@ -857,7 +857,7 @@ QRect QPlatformWindow::windowGeometry() const */ QRect QPlatformWindow::windowFrameGeometry() const { - return QHighDpi::toNativePixels(window()->frameGeometry(), window()); + return QHighDpi::toNativeWindowGeometry(window()->frameGeometry(), window()); } /*! @@ -868,10 +868,10 @@ QRect QPlatformWindow::windowFrameGeometry() const QRectF QPlatformWindow::closestAcceptableGeometry(const QWindow *qWindow, const QRectF &nativeRect) { - const QRectF rectF = QHighDpi::fromNativePixels(nativeRect, qWindow); + const QRectF rectF = QHighDpi::fromNativeWindowGeometry(nativeRect, qWindow); const QRectF correctedGeometryF = qt_window_private(const_cast(qWindow))->closestAcceptableGeometry(rectF); return !correctedGeometryF.isEmpty() && rectF != correctedGeometryF - ? QHighDpi::toNativePixels(correctedGeometryF, qWindow) : nativeRect; + ? QHighDpi::toNativeWindowGeometry(correctedGeometryF, qWindow) : nativeRect; } QRectF QPlatformWindow::windowClosestAcceptableGeometry(const QRectF &nativeRect) const -- cgit v1.2.3