feat: Add Win32 platform window interface support - #404
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: kt286 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @kt286. Thanks for your PR. I'm waiting for a linuxdeepin member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Reviewer's GuideThis PR adds a Win32-specific platform window interface and build integration, enabling Windows 10/11 visual effects (rounded corners, blur/transparency, frameless windows) and immersive dark mode, and wires it into the existing platform abstraction and palette handling. Sequence diagram for Win32 window show and dark mode applicationsequenceDiagram
participant QWindow
participant DWin32PlatformWindowInterface as Win32Interface
participant WindowsRegistry
participant DwmApi
QWindow->>Win32Interface: eventFilter(QEvent::Show)
Win32Interface->>Win32Interface: setEnabledNoTitlebar(m_enabled)
Win32Interface->>Win32Interface: updateShadow()
Win32Interface->>Win32Interface: updateRoundedCorners()
Win32Interface->>Win32Interface: updateSystemTheme()
Win32Interface->>WindowsRegistry: RegOpenKeyExW(Personalize)
WindowsRegistry-->>Win32Interface: AppsUseLightTheme value
Win32Interface->>DwmApi: DwmSetWindowAttribute(DWMWA_USE_IMMERSIVE_DARK_MODE)
Win32Interface->>Win32Interface: updateTranslucentBackground()
Win32Interface->>Win32Interface: updateBlurWindow()
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
08846df to
ae0e3d8
Compare
- Add DWin32PlatformWindowInterface class implementation - Support Windows 10/11 window effects (rounded corners, shadows, transparency) - Integrate DWM API for immersive dark mode - Add Win32 CMake build configuration feat: 添加 Win32 平台窗口接口支持 - 新增 DWin32PlatformWindowInterface 类实现 - 支持 Windows 10/11 的窗口效果(圆角、阴影、透明等) - 集成 DWM API 实现沉浸式深色模式 - 添加 Win32 CMake 构建配置
ae0e3d8 to
4e20a89
Compare
- Add DWin32PlatformInterface class implementing DPlatformInterface virtual interface - themeName() reads Windows registry AppsUseLightTheme to detect system dark/light theme, returns "dark" or "light" - Remove old QStyleHints-based theme type detection code from dguiapplicationhelper.cpp - Register Win32 platform interface in DPlatformTheme constructor via #ifdef Q_OS_WIN feat: 新增 Win32 平台主题接口实现 - 新增 DWin32PlatformInterface 类,实现 DPlatformInterface 虚接口 - themeName() 通过读取 Windows 注册表 AppsUseLightTheme 判断系统深色/浅色主题,返回 "dark" 或 "light" - 移除 dguiapplicationhelper.cpp 中旧的 QStyleHints 方式获取主题类型的代码 - 在 DPlatformTheme 构造函数中通过 #ifdef Q_OS_WIN 注册 Win32 平台接口
a9c4c92 to
b6fb458
Compare
feat: 添加 Win32 平台窗口接口支持
Summary by Sourcery
Add a Win32 platform window interface and wire it into the platform handle to support native Windows window effects and theming.
New Features:
Enhancements:
Build: