From 277b848ad8df1e8d038e33707548a45d63a601db Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 18 Jul 2022 18:37:41 +0200 Subject: Remove `window::Mode` and introduce `Settings::visible` Additionally, only show the window once one frame has been rendered to avoid blank flashes on Windows. --- src/window/mode.rs | 12 ------------ src/window/settings.rs | 5 +++++ 2 files changed, 5 insertions(+), 12 deletions(-) delete mode 100644 src/window/mode.rs (limited to 'src/window') diff --git a/src/window/mode.rs b/src/window/mode.rs deleted file mode 100644 index fdce8e23..00000000 --- a/src/window/mode.rs +++ /dev/null @@ -1,12 +0,0 @@ -/// The mode of a window-based application. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum Mode { - /// The application appears in its own window. - Windowed, - - /// The application takes the whole screen of its current monitor. - Fullscreen, - - /// The application is hidden - Hidden, -} diff --git a/src/window/settings.rs b/src/window/settings.rs index 8e32f4fb..24d0f4f9 100644 --- a/src/window/settings.rs +++ b/src/window/settings.rs @@ -15,6 +15,9 @@ pub struct Settings { /// The maximum size of the window. pub max_size: Option<(u32, u32)>, + /// Whether the window should be visible or not. + pub visible: bool, + /// Whether the window should be resizable or not. pub resizable: bool, @@ -38,6 +41,7 @@ impl Default for Settings { position: Position::default(), min_size: None, max_size: None, + visible: true, resizable: true, decorations: true, transparent: false, @@ -54,6 +58,7 @@ impl From for iced_winit::settings::Window { position: iced_winit::Position::from(settings.position), min_size: settings.min_size, max_size: settings.max_size, + visible: settings.visible, resizable: settings.resizable, decorations: settings.decorations, transparent: settings.transparent, -- cgit