Skip to main content

current_windows_capabilities

Function current_windows_capabilities 

Source
pub fn current_windows_capabilities() -> Option<WindowsCapabilities>
Expand description

Returns Windows runtime capabilities when running on Windows.

Examples found in repository?
examples/chrome_lab.rs (line 114)
111    fn boot() -> (Self, Task<Message>) {
112        let state = Self {
113            chrome: ChromeSettings::default(),
114            windows_capabilities: iced_window_chrome::current_windows_capabilities(),
115        };
116
117        (
118            state.clone(),
119            iced_window_chrome::apply_to_latest(state.chrome.clone()),
120        )
121    }
More examples
Hide additional examples
examples/custom_titlebar.rs (line 644)
639    fn chrome_settings(self) -> ChromeSettings {
640        let mut chrome = ChromeSettings::default();
641
642        match self {
643            Self::Windows => {
644                if let Some(capabilities) = current_windows_capabilities() {
645                    if capabilities.supports_dwm_visuals() {
646                        chrome.windows.corner_preference = Some(WindowCornerPreference::Round);
647                    }
648
649                    if capabilities.supports_system_backdrop() {
650                        chrome.windows.backdrop = Some(WindowsBackdrop::Mica);
651                    }
652                }
653            }
654            Self::Macos => {
655                chrome.macos.titlebar = true;
656                chrome.macos.title = false;
657                chrome.macos.traffic_lights = true;
658                chrome.macos.titlebar_transparent = true;
659                chrome.macos.fullsize_content_view = true;
660                chrome.macos.titlebar_height = Some(TITLEBAR_HEIGHT_F64);
661                chrome.macos.traffic_light_offset_y = Some(MACOS_TRAFFIC_LIGHT_OFFSET);
662                chrome.macos.titlebar_separator_style = Some(MacosTitlebarSeparatorStyle::None);
663            }
664            Self::LinuxX11 => {
665                chrome.linux.decorations = false;
666            }
667            Self::LinuxWayland | Self::Other => {}
668        }
669
670        chrome
671    }