diff options
author | 2022-10-11 15:24:26 +0200 | |
---|---|---|
committer | 2022-10-11 21:56:45 +0200 | |
commit | ac6e137be3e9d2d2a1d8c1284880096a0e2c2a47 (patch) | |
tree | 3866764f7956c06a68367edd3111b0261602d906 | |
parent | 8a50836ffc32a6d9157eb18740b3947c4dbd7d1f (diff) | |
download | iced-ac6e137be3e9d2d2a1d8c1284880096a0e2c2a47.tar.gz iced-ac6e137be3e9d2d2a1d8c1284880096a0e2c2a47.tar.bz2 iced-ac6e137be3e9d2d2a1d8c1284880096a0e2c2a47.zip |
feat: Add window minimize support
-rw-r--r-- | native/src/window/action.rs | 4 | ||||
-rw-r--r-- | winit/src/application.rs | 3 | ||||
-rw-r--r-- | winit/src/window.rs | 5 |
3 files changed, 12 insertions, 0 deletions
diff --git a/native/src/window/action.rs b/native/src/window/action.rs index c49fdf9d..009dcc27 100644 --- a/native/src/window/action.rs +++ b/native/src/window/action.rs @@ -20,6 +20,8 @@ pub enum Action<T> { }, /// Sets the window to maximized or back Maximize(bool), + /// Set the window to minimized or back + Minimize(bool), /// Move the window. /// /// Unsupported on Wayland. @@ -50,6 +52,7 @@ impl<T> Action<T> { Self::Drag => Action::Drag, Self::Resize { width, height } => Action::Resize { width, height }, Self::Maximize(bool) => Action::Maximize(bool), + Self::Minimize(bool) => Action::Minimize(bool), Self::Move { x, y } => Action::Move { x, y }, Self::SetMode(mode) => Action::SetMode(mode), Self::ToggleMaximize => Action::ToggleMaximize, @@ -68,6 +71,7 @@ impl<T> fmt::Debug for Action<T> { width, height ), Self::Maximize(value) => write!(f, "Action::Maximize({})", value), + Self::Minimize(value) => write!(f, "Action::Minimize({}", value), Self::Move { x, y } => { write!(f, "Action::Move {{ x: {}, y: {} }}", x, y) } diff --git a/winit/src/application.rs b/winit/src/application.rs index 7de5a0ce..939a50c9 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -627,6 +627,9 @@ pub fn run_command<A, E>( window::Action::Maximize(value) => { window.set_maximized(value); } + window::Action::Minimize(value) => { + window.set_minimized(value); + } window::Action::Move { x, y } => { window.set_outer_position(winit::dpi::LogicalPosition { x, diff --git a/winit/src/window.rs b/winit/src/window.rs index 48210c33..1e704c5b 100644 --- a/winit/src/window.rs +++ b/winit/src/window.rs @@ -22,6 +22,11 @@ pub fn maximize<Message>(value: bool) -> Command<Message> { Command::single(command::Action::Window(window::Action::Maximize(value))) } +/// Set the window to minimized or back. +pub fn minimize<Message>(value: bool) -> Command<Message> { + Command::single(command::Action::Window(window::Action::Minimize(value))) +} + /// Moves a window to the given logical coordinates. pub fn move_to<Message>(x: i32, y: i32) -> Command<Message> { Command::single(command::Action::Window(window::Action::Move { x, y })) |