gpui: Use DWM API for backdrop effects and add Mica/Mica Alt support (#41842)
This PR updates window background rendering to use the **official DWM backdrop API** (`DwmSetWindowAttribute`) instead of the legacy `SetWindowCompositionAttribute`. It also adds **Mica** and **Mica Alt** options to `WindowBackgroundAppearance` for native Windows 11 effects. ### Motivation Enables modern, stable, and GPU-accelerated backdrops consistent with Windows 11’s Fluent Design. Removes reliance on undocumented APIs while maintaining backward compatibility with older Windows versions. ### Changes * Added `MicaBackdrop` and `MicaAltBackdrop` variants. * Switched to DWM API for applying backdrop effects. * Verified fallback behavior on Windows 10. ### Release Notes: - Added `WindowBackgroundAppearance::MicaBackdrop` and `WindowBackgroundAppearance::MicaAltBackdrop` for Windows 11 Mica and Mica Alt window backdrops. ### Screenshots - `WindowBackgroundAppearance::Blurred` <img width="553" height="354" alt="image" src="https://github.com/user-attachments/assets/57c9c25d-9412-4141-94b5-00000cc0b1ec" /> - `WindowBackgroundAppearance::MicaBackdrop` <img width="553" height="354" alt="image" src="https://github.com/user-attachments/assets/019f541c-3335-4c9e-b026-71f5a1786534" /> - `WindowBackgroundAppearance::MicaAltBackdrop` <img width="553" height="354" alt="image" src="https://github.com/user-attachments/assets/5128d600-c94d-4c89-b81a-8b842fe1337a" /> --------- Co-authored-by: John Tur <john-tur@outlook.com>
This commit is contained in:
@@ -1389,6 +1389,10 @@ pub enum WindowBackgroundAppearance {
|
||||
///
|
||||
/// Not always supported.
|
||||
Blurred,
|
||||
/// The Mica backdrop material, supported on Windows 11.
|
||||
MicaBackdrop,
|
||||
/// The Mica Alt backdrop material, supported on Windows 11.
|
||||
MicaAltBackdrop,
|
||||
}
|
||||
|
||||
/// The options that can be configured for a file dialog prompt
|
||||
|
||||
Reference in New Issue
Block a user