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