diff options
author | 2022-11-03 00:45:05 +0100 | |
---|---|---|
committer | 2022-11-03 00:45:05 +0100 | |
commit | 08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464 (patch) | |
tree | 896a8867b411e7ac8a605e5a67e0b8afe4162194 /winit/src/window.rs | |
parent | 1c00adad615f7c2909d175c696765dbe081bde33 (diff) | |
parent | ac6e137be3e9d2d2a1d8c1284880096a0e2c2a47 (diff) | |
download | iced-08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464.tar.gz iced-08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464.tar.bz2 iced-08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464.zip |
Merge pull request #1471 from pop-os/cosmic-window-controls
feat: Additional actions for window controls
Diffstat (limited to 'winit/src/window.rs')
-rw-r--r-- | winit/src/window.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/winit/src/window.rs b/winit/src/window.rs index 265139f7..1e704c5b 100644 --- a/winit/src/window.rs +++ b/winit/src/window.rs @@ -4,6 +4,11 @@ use iced_native::window; pub use window::{Event, Mode}; +/// Begins dragging the window while the left mouse button is held. +pub fn drag<Message>() -> Command<Message> { + Command::single(command::Action::Window(window::Action::Drag)) +} + /// Resizes the window to the given logical dimensions. pub fn resize<Message>(width: u32, height: u32) -> Command<Message> { Command::single(command::Action::Window(window::Action::Resize { @@ -12,6 +17,16 @@ pub fn resize<Message>(width: u32, height: u32) -> Command<Message> { })) } +/// Sets the window to maximized or back. +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 })) @@ -22,6 +37,11 @@ pub fn set_mode<Message>(mode: Mode) -> Command<Message> { Command::single(command::Action::Window(window::Action::SetMode(mode))) } +/// Sets the window to maximized or back. +pub fn toggle_maximize<Message>() -> Command<Message> { + Command::single(command::Action::Window(window::Action::ToggleMaximize)) +} + /// Fetches the current [`Mode`] of the window. pub fn fetch_mode<Message>( f: impl FnOnce(Mode) -> Message + 'static, |