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
|
|
||
| # Win32 | ||
| if(WIN32) | ||
| message("Support Win32!") |
There was a problem hiding this comment.
这个其实是抄的上面 XCB 那块的,那里就有
- 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
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: