From 29901fc2a97eedd3c914f807d1819c9ea7e69973 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周一, 25 12月 2023 17:53:34 +0800
Subject: [PATCH] Optimize Windows 10 border handling

---
 src/core/shared/qwkwindowsextra_p.h |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/core/shared/qwkwindowsextra_p.h b/src/core/shared/qwkwindowsextra_p.h
index df97727..15fe4e7 100644
--- a/src/core/shared/qwkwindowsextra_p.h
+++ b/src/core/shared/qwkwindowsextra_p.h
@@ -145,9 +145,9 @@
 
     // Win10 1809 (10.0.17763)
     using RefreshImmersiveColorPolicyStatePtr = VOID(WINAPI *)(VOID); // Ordinal 104
-    using AllowDarkModeForWindowPtr = BOOL(WINAPI *)(HWND, BOOL); // Ordinal 133
-    using AllowDarkModeForAppPtr = BOOL(WINAPI *)(BOOL); // Ordinal 135
-    using FlushMenuThemesPtr = VOID(WINAPI *)(VOID); // Ordinal 136
+    using AllowDarkModeForWindowPtr = BOOL(WINAPI *)(HWND, BOOL);     // Ordinal 133
+    using AllowDarkModeForAppPtr = BOOL(WINAPI *)(BOOL);              // Ordinal 135
+    using FlushMenuThemesPtr = VOID(WINAPI *)(VOID);                  // Ordinal 136
     // Win10 1903 (10.0.18362)
     using SetPreferredAppModePtr = PREFERRED_APP_MODE(WINAPI *)(PREFERRED_APP_MODE); // Ordinal 135
 
@@ -213,7 +213,7 @@
 
 #undef DYNAMIC_API_RESOLVE
 
-#define UNDOC_API_RESOLVE(DLL, NAME, ORDINAL)                                                             \
+#define UNDOC_API_RESOLVE(DLL, NAME, ORDINAL)                                                      \
     p##NAME = reinterpret_cast<decltype(p##NAME)>(DLL.resolve(MAKEINTRESOURCEA(ORDINAL)))
 
                 QSystemLibrary uxtheme(QStringLiteral("uxtheme"));
@@ -300,6 +300,15 @@
     static inline constexpr RECT qrect2rect(const QRect &qrect) {
         return RECT{LONG(qrect.left()), LONG(qrect.top()), LONG(qrect.right()),
                     LONG(qrect.bottom())};
+    }
+
+    static inline constexpr QMargins margins2qmargins(const MARGINS &margins) {
+        return {margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth,
+                margins.cyBottomHeight};
+    }
+
+    static inline constexpr MARGINS qmargins2margins(const QMargins &qmargins) {
+        return MARGINS{qmargins.left(), qmargins.right(), qmargins.top(), qmargins.bottom()};
     }
 
     static inline /*constexpr*/ QString hwnd2str(const WId windowId) {
@@ -406,9 +415,8 @@
                                                          _DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1,
                                                          &enabled, sizeof(enabled)))) {
             return enabled;
-        } else {
-            return false;
         }
+        return false;
     }
 
     static inline QColor getAccentColor() {

--
Gitblit v1.9.1