diff options
Diffstat (limited to 'winit/src/window.rs')
| -rw-r--r-- | winit/src/window.rs | 49 | 
1 files changed, 40 insertions, 9 deletions
| diff --git a/winit/src/window.rs b/winit/src/window.rs index cc486fc8..fa31dca1 100644 --- a/winit/src/window.rs +++ b/winit/src/window.rs @@ -37,7 +37,7 @@ pub fn resize<Message>(      ))  } -/// Sets the window to maximized or back. +/// Maximizes the window.  pub fn maximize<Message>(id: window::Id, value: bool) -> Command<Message> {      Command::single(command::Action::Window(          id, @@ -45,7 +45,7 @@ pub fn maximize<Message>(id: window::Id, value: bool) -> Command<Message> {      ))  } -/// Set the window to minimized or back. +/// Minimes the window.  pub fn minimize<Message>(id: window::Id, value: bool) -> Command<Message> {      Command::single(command::Action::Window(          id, @@ -58,16 +58,11 @@ pub fn move_to<Message>(id: window::Id, x: i32, y: i32) -> Command<Message> {      Command::single(command::Action::Window(id, window::Action::Move { x, y }))  } -/// Sets the [`Mode`] of the window. -pub fn set_mode<Message>(id: window::Id, mode: Mode) -> Command<Message> { +/// Changes the [`Mode`] of the window. +pub fn change_mode<Message>(id: window::Id, mode: Mode) -> Command<Message> {      Command::single(command::Action::Window(id, window::Action::SetMode(mode)))  } -/// Sets the window to maximized or back. -pub fn toggle_maximize<Message>(id: window::Id) -> Command<Message> { -    Command::single(command::Action::Window(id, window::Action::ToggleMaximize)) -} -  /// Fetches the current [`Mode`] of the window.  pub fn fetch_mode<Message>(      id: window::Id, @@ -78,3 +73,39 @@ pub fn fetch_mode<Message>(          window::Action::FetchMode(Box::new(f)),      ))  } + +/// Toggles the window to maximized or back. +pub fn toggle_maximize<Message>(id: window::Id) -> Command<Message> { +    Command::single(command::Action::Window(id, window::Action::ToggleMaximize)) +} + +/// Toggles the window decorations. +pub fn toggle_decorations<Message>(id: window::Id) -> Command<Message> { +    Command::single(command::Action::Window(id, 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>( +    id: window::Id, +    user_attention: Option<UserAttention>, +) -> Command<Message> { +    Command::single(command::Action::Window( +        id, +        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>(id: window::Id) -> Command<Message> { +    Command::single(command::Action::Window(id, window::Action::GainFocus)) +} | 
