From deeaf98650e316a613afe655e40b11a93b378c12 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Date: Wed, 10 Jun 2015 15:19:17 +0200
Subject: [PATCH] Windows: Fix compilation after
 f5bdd92e5d0217bf3eec13395e4baa95bd8fda37.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Bring back static versions of the constrained scaling functions.

To be squashed with dbe2dd295cce19680f8ba7a7cca65150701051e2 .

Change-Id: Id05b8085ab56dd777ce1ab3b7da3ce47c01dcb00
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
---
 .../platforms/windows/qwindowswindow.cpp       | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 0f32ff1f98f..87747a74fd0 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -704,6 +704,20 @@ void WindowCreationData::initialize(const QWindow *w, HWND hwnd, bool frameChang
     }
 }
 
+
+// Scaling helpers for size constraints.
+static QSize toNativeSizeConstrained(QSize dip, const QWindow *w)
+{
+    if (QHighDpiScaling::isActive()) {
+        const qreal factor = QHighDpiScaling::factor(w);
+        if (dip.width() > 0 && dip.width() < QWINDOWSIZE_MAX)
+            dip.rwidth() *= factor;
+        if (dip.height() > 0 && dip.height() < QWINDOWSIZE_MAX)
+            dip.rheight() *= factor;
+    }
+    return dip;
+}
+
 /*!
     \class QWindowsGeometryHint
     \brief Stores geometry constraints and provides utility functions.
@@ -716,8 +730,8 @@ void WindowCreationData::initialize(const QWindow *w, HWND hwnd, bool frameChang
 */
 
 QWindowsGeometryHint::QWindowsGeometryHint(const QWindow *w, const QMargins &cm) :
-     minimumSize(QHighDpi::toNativePixelsConstrained(w->minimumSize(), w)),
-     maximumSize(QHighDpi::toNativePixelsConstrained(w->maximumSize(), w)),
+     minimumSize(toNativeSizeConstrained(w->minimumSize(), w)),
+     maximumSize(toNativeSizeConstrained(w->maximumSize(), w)),
      customMargins(cm)
 {
 }
-- 
GitLab