diff options
author | 2020-08-17 15:38:02 +0700 | |
---|---|---|
committer | 2020-08-17 15:42:50 +0700 | |
commit | a490fd54c9b262c9d8ac946f75a0016fbb81848b (patch) | |
tree | 1c11e7b793abb0615d32d1e2cc576c238e1de2f4 | |
parent | 00d66da0cee1dc7faeccc5b3f0794a0393a38da7 (diff) | |
download | iced-a490fd54c9b262c9d8ac946f75a0016fbb81848b.tar.gz iced-a490fd54c9b262c9d8ac946f75a0016fbb81848b.tar.bz2 iced-a490fd54c9b262c9d8ac946f75a0016fbb81848b.zip |
Add 'transparent' in window setting
-rw-r--r-- | src/window/settings.rs | 5 | ||||
-rw-r--r-- | winit/src/settings.rs | 15 |
2 files changed, 15 insertions, 5 deletions
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<Icon>, } @@ -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<Settings> 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..418c7582 100644 --- a/winit/src/settings.rs +++ b/winit/src/settings.rs @@ -45,6 +45,8 @@ pub struct Window { /// Whether the window should have a border, a title bar, etc. pub decorations: bool, + pub transparent: bool, + /// The window icon, which is also usually used in the taskbar pub icon: Option<winit::window::Icon>, @@ -64,11 +66,13 @@ impl Window { let (width, height) = self.size; + println!("patched window with trasparent"); window_builder = window_builder .with_title(title) .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)); @@ -83,13 +87,13 @@ impl Window { } #[cfg(target_os = "windows")] - { - use winit::platform::windows::WindowBuilderExtWindows; + { + use winit::platform::windows::WindowBuilderExtWindows; - if let Some(parent) = self.platform_specific.parent { - window_builder = window_builder.with_parent_window(parent); + if let Some(parent) = self.platform_specific.parent { + window_builder = window_builder.with_parent_window(parent); + } } - } window_builder } @@ -103,6 +107,7 @@ impl Default for Window { max_size: None, resizable: true, decorations: true, + transparent: false, icon: None, platform_specific: Default::default(), } |