| | |
| | | // Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) |
| | | // Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) |
| | | // SPDX-License-Identifier: Apache-2.0 |
| | | |
| | | #ifndef WINDOWS10BORDERHANDLER_P_H |
| | | #define WINDOWS10BORDERHANDLER_P_H |
| | | |
| | | // |
| | | // W A R N I N G !!! |
| | | // ----------------- |
| | | // |
| | | // This file is not part of the QWindowKit API. It is used purely as an |
| | | // implementation detail. This header file may change from version to |
| | | // version without notice, or may even be removed. |
| | | // |
| | | |
| | | #include <QtGui/QWindow> |
| | | #include <QtGui/QMouseEvent> |
| | |
| | | } |
| | | |
| | | inline void drawBorder() { |
| | | ctx->virtual_hook(AbstractWindowContext::DrawWindows10BorderHook2, nullptr); |
| | | ctx->virtual_hook(AbstractWindowContext::DrawWindows10BorderHook_Native, nullptr); |
| | | } |
| | | |
| | | inline int borderThickness() const { |
| | |
| | | break; |
| | | } |
| | | |
| | | case WM_THEMECHANGED: |
| | | case WM_SYSCOLORCHANGE: |
| | | case WM_DWMCOLORIZATIONCOLORCHANGED: { |
| | | // If we do not refresh this property, the native border will turn white |
| | | // permanently (like the dark mode is turned off) after the user changes |
| | | // the accent color in system personalization settings. |
| | | // So we need this ugly hack to re-apply dark mode to get rid of this |
| | | // strange Windows bug. |
| | | if (ctx->windowAttribute(QStringLiteral("dark-mode")).toBool()) { |
| | | ctx->setWindowAttribute(QStringLiteral("dark-mode"), true); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | default: |
| | | break; |
| | | } |