diff options
| author | 2023-01-31 04:08:19 +0100 | |
|---|---|---|
| committer | 2023-01-31 04:53:15 +0100 | |
| commit | 98a717383acf71d7939d7cc90d350743487f0380 (patch) | |
| tree | 96b51a8b9b9402153cf6b677b3e7e7143e74c2d0 /winit | |
| parent | ecc5bfaeff6503e9e0752035c5e0c94c5a5263a2 (diff) | |
| download | iced-98a717383acf71d7939d7cc90d350743487f0380.tar.gz iced-98a717383acf71d7939d7cc90d350743487f0380.tar.bz2 iced-98a717383acf71d7939d7cc90d350743487f0380.zip  | |
Write missing `window::Action` helpers in `window`
Diffstat (limited to '')
| -rw-r--r-- | winit/src/window.rs | 39 | 
1 files changed, 34 insertions, 5 deletions
diff --git a/winit/src/window.rs b/winit/src/window.rs index 0685c87c..6e3a383a 100644 --- a/winit/src/window.rs +++ b/winit/src/window.rs @@ -42,11 +42,6 @@ pub fn change_mode<Message>(mode: Mode) -> Command<Message> {      Command::single(command::Action::Window(window::Action::ChangeMode(mode)))  } -/// Toggles 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, @@ -55,3 +50,37 @@ pub fn fetch_mode<Message>(          Box::new(f),      )))  } + +/// Toggles the window to maximized or back. +pub fn toggle_maximize<Message>() -> Command<Message> { +    Command::single(command::Action::Window(window::Action::ToggleMaximize)) +} + +/// Toggles the window decorations. +pub fn toggle_decorations<Message>() -> Command<Message> { +    Command::single(command::Action::Window(window::Action::ToggleDecorations)) +} + +/// Request user attention to the window, this has no effect if the application +/// is already focused. How requesting for user attention manifests is platform dependent, +/// see [`UserAttention`] for details. +/// +/// Providing `None` will unset the request for user attention. Unsetting the request for +/// user attention might not be done automatically by the WM when the window receives input. +pub fn request_user_attention<Message>( +    user_attention: Option<UserAttention>, +) -> Command<Message> { +    Command::single(command::Action::Window( +        window::Action::RequestUserAttention(user_attention), +    )) +} + +/// Brings the window to the front and sets input focus. Has no effect if the window is +/// already in focus, minimized, or not visible. +/// +/// This [`Command`] steals input focus from other applications. Do not use this method unless +/// you are certain that's what the user wants. Focus stealing can cause an extremely disruptive +/// user experience. +pub fn gain_focus<Message>() -> Command<Message> { +    Command::single(command::Action::Window(window::Action::GainFocus)) +}  | 
