diff options
Diffstat (limited to '')
-rw-r--r-- | winit/src/application.rs | 4 | ||||
-rw-r--r-- | winit/src/application/profiler.rs | 4 | ||||
-rw-r--r-- | winit/src/window.rs | 47 |
3 files changed, 42 insertions, 13 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 77ca4b31..c1836ed9 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -535,7 +535,7 @@ async fn run_instance<A, E, C>( Err(error) => match error { // This is an unrecoverable error. compositor::SurfaceError::OutOfMemory => { - panic!("{:?}", error); + panic!("{error:?}"); } _ => { debug.render_finished(); @@ -749,7 +749,7 @@ pub fn run_command<A, E>( y, }); } - window::Action::SetMode(mode) => { + window::Action::ChangeMode(mode) => { window.set_visible(conversion::visible(mode)); window.set_fullscreen(conversion::fullscreen( window.primary_monitor(), diff --git a/winit/src/application/profiler.rs b/winit/src/application/profiler.rs index 23eaa390..7031507a 100644 --- a/winit/src/application/profiler.rs +++ b/winit/src/application/profiler.rs @@ -49,8 +49,8 @@ impl Profiler { .to_str() .unwrap_or("trace"); - let path = out_dir - .join(format!("{}_trace_{}.json", curr_exe_name, time)); + let path = + out_dir.join(format!("{curr_exe_name}_trace_{time}.json")); layer = layer.file(path); } else { diff --git a/winit/src/window.rs b/winit/src/window.rs index 2306bdf1..6e3a383a 100644 --- a/winit/src/window.rs +++ b/winit/src/window.rs @@ -22,12 +22,12 @@ pub fn resize<Message>(width: u32, height: u32) -> Command<Message> { })) } -/// Sets the window to maximized or back. +/// Maximizes the window. pub fn maximize<Message>(value: bool) -> Command<Message> { Command::single(command::Action::Window(window::Action::Maximize(value))) } -/// Set the window to minimized or back. +/// Minimes the window. pub fn minimize<Message>(value: bool) -> Command<Message> { Command::single(command::Action::Window(window::Action::Minimize(value))) } @@ -38,13 +38,8 @@ pub fn move_to<Message>(x: i32, y: i32) -> Command<Message> { } /// Sets the [`Mode`] of the window. -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)) +pub fn change_mode<Message>(mode: Mode) -> Command<Message> { + Command::single(command::Action::Window(window::Action::ChangeMode(mode))) } /// Fetches the current [`Mode`] of the window. @@ -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)) +} |