diff --git a/src/window/settings.rs b/src/window/settings.rs index 2046f2d9..7bc49ce1 100644 --- a/src/window/settings.rs +++ b/src/window/settings.rs @@ -18,6 +18,9 @@ pub struct Settings { /// Whether the window should have a border, a title bar, etc. or not. pub decorations: bool, + /// Whether the window should be transparent + pub transparent: bool, + /// The icon of the window. pub icon: Option, } @@ -30,6 +33,7 @@ impl Default for Settings { max_size: None, resizable: true, decorations: true, + transparent: false, icon: None, } } @@ -44,6 +48,7 @@ impl From for iced_winit::settings::Window { max_size: settings.max_size, resizable: settings.resizable, decorations: settings.decorations, + transparent: settings.transparent, icon: settings.icon.map(Icon::into), platform_specific: Default::default(), } diff --git a/winit/src/settings.rs b/winit/src/settings.rs index 4155bf7d..92541e7d 100644 --- a/winit/src/settings.rs +++ b/winit/src/settings.rs @@ -45,6 +45,9 @@ pub struct Window { /// Whether the window should have a border, a title bar, etc. pub decorations: bool, + /// Whether the window should be transparent + pub transparent: bool, + /// The window icon, which is also usually used in the taskbar pub icon: Option, @@ -69,6 +72,7 @@ impl Window { .with_inner_size(winit::dpi::LogicalSize { width, height }) .with_resizable(self.resizable) .with_decorations(self.decorations) + .with_transparent(self.transparent) .with_window_icon(self.icon) .with_fullscreen(conversion::fullscreen(primary_monitor, mode)); @@ -103,6 +107,7 @@ impl Default for Window { max_size: None, resizable: true, decorations: true, + transparent: false, icon: None, platform_specific: Default::default(), }