From 8f81d6e6b4b72c2b4807a3416533c465b7c629c2 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: ćšć, 04 1æ 2024 19:33:40 +0800 Subject: [PATCH] Update submodules --- src/quick/quickwindowagent_win.cpp | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/quick/quickwindowagent_win.cpp b/src/quick/quickwindowagent_win.cpp index a1966fd..338dbfa 100644 --- a/src/quick/quickwindowagent_win.cpp +++ b/src/quick/quickwindowagent_win.cpp @@ -1,3 +1,7 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #include "quickwindowagent_p.h" #include <QtQuick/QQuickPaintedItem> @@ -7,7 +11,11 @@ namespace QWK { -#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDER) +#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS) + // TODO: Find a way to draw native border + // We haven't found a way to place hooks in the Quick program and call the GDI API to draw + // the native border area so that we'll use the emulated drawn border for now. + class BorderItem : public QQuickPaintedItem, public NativeEventFilter, public SharedEventFilter { @@ -97,6 +105,7 @@ bool BorderItem::nativeEventFilter(const QByteArray &eventType, void *message, QT_NATIVE_EVENT_RESULT_TYPE *result) { Q_UNUSED(eventType) + const auto msg = static_cast<const MSG *>(message); switch (msg->message) { case WM_THEMECHANGED: @@ -107,9 +116,7 @@ } case WM_SETTINGCHANGE: { - if (!msg->wParam && msg->lParam && - std::wcscmp(reinterpret_cast<LPCWSTR>(msg->lParam), L"ImmersiveColorSet") == - 0) { + if (isImmersiveColorSetChange(msg->wParam, msg->lParam)) { update(); } break; @@ -123,6 +130,7 @@ bool BorderItem::sharedEventFilter(QObject *obj, QEvent *event) { Q_UNUSED(obj) + switch (event->type()) { case QEvent::WindowStateChange: { updateGeometry(); -- Gitblit v1.9.1