diff options
author | 2022-10-09 16:35:28 +0200 | |
---|---|---|
committer | 2022-10-11 21:56:01 +0200 | |
commit | 8a50836ffc32a6d9157eb18740b3947c4dbd7d1f (patch) | |
tree | 7d49a214e838a8724fa392b547b847105adc7b00 /winit | |
parent | 7ea7dbef578ddbe2a9a50da6aab253ba016f1362 (diff) | |
download | iced-8a50836ffc32a6d9157eb18740b3947c4dbd7d1f.tar.gz iced-8a50836ffc32a6d9157eb18740b3947c4dbd7d1f.tar.bz2 iced-8a50836ffc32a6d9157eb18740b3947c4dbd7d1f.zip |
feat: Add window maximize support
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/application.rs | 6 | ||||
-rw-r--r-- | winit/src/window.rs | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 75c113bf..7de5a0ce 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -624,6 +624,9 @@ pub fn run_command<A, E>( height, }); } + window::Action::Maximize(value) => { + window.set_maximized(value); + } window::Action::Move { x, y } => { window.set_outer_position(winit::dpi::LogicalPosition { x, @@ -637,6 +640,9 @@ pub fn run_command<A, E>( mode, )); } + window::Action::ToggleMaximize => { + window.set_maximized(!window.is_maximized()) + } window::Action::FetchMode(tag) => { let mode = if window.is_visible().unwrap_or(true) { conversion::mode(window.fullscreen()) diff --git a/winit/src/window.rs b/winit/src/window.rs index 61c9c3fe..48210c33 100644 --- a/winit/src/window.rs +++ b/winit/src/window.rs @@ -17,6 +17,11 @@ 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))) +} + /// 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 })) @@ -27,6 +32,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, |