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 | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/core/shared/qwkwindowsextra_p.h b/src/core/shared/qwkwindowsextra_p.h index ede119c..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")); @@ -302,6 +302,15 @@ 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) { // NULL handle is allowed here. return QLatin1String("0x") + -- Gitblit v1.9.1