diff options
author | 2023-02-17 13:39:58 +0100 | |
---|---|---|
committer | 2023-02-17 13:39:58 +0100 | |
commit | b9b0a9a1f400483f46ec053247c435ec7739f778 (patch) | |
tree | 9211457e4a8366b4c730cc0aea1ebd10bd0aee0b /winit | |
parent | 871f59f3be640acc8ce2760108a73b8ada846df1 (diff) | |
parent | db65c6904d38fe37ad0c31a11242d55f5f773c94 (diff) | |
download | iced-b9b0a9a1f400483f46ec053247c435ec7739f778.tar.gz iced-b9b0a9a1f400483f46ec053247c435ec7739f778.tar.bz2 iced-b9b0a9a1f400483f46ec053247c435ec7739f778.zip |
Merge pull request #1587 from Night-Hunter-NF/AlwaysOnTop
add always on top action
Diffstat (limited to '')
-rw-r--r-- | winit/src/application.rs | 24 | ||||
-rw-r--r-- | winit/src/window.rs | 19 |
2 files changed, 30 insertions, 13 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 769fe9dd..1f37ffef 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -747,11 +747,11 @@ pub fn run_command<A, E>( height, }); } - window::Action::Maximize(value) => { - window.set_maximized(value); + window::Action::Maximize(maximized) => { + window.set_maximized(maximized); } - window::Action::Minimize(value) => { - window.set_minimized(value); + window::Action::Minimize(minimized) => { + window.set_minimized(minimized); } window::Action::Move { x, y } => { window.set_outer_position(winit::dpi::LogicalPosition { @@ -781,13 +781,19 @@ pub fn run_command<A, E>( window.set_maximized(!window.is_maximized()) } window::Action::ToggleDecorations => { - window.set_decorations(!window.is_decorated()) + window.set_decorations(!window.is_decorated()); } - window::Action::RequestUserAttention(user_attention) => window - .request_user_attention( + window::Action::RequestUserAttention(user_attention) => { + window.request_user_attention( user_attention.map(conversion::user_attention), - ), - window::Action::GainFocus => window.focus_window(), + ); + } + window::Action::GainFocus => { + window.focus_window(); + } + window::Action::ChangeAlwaysOnTop(on_top) => { + window.set_always_on_top(on_top); + } }, command::Action::System(action) => match action { system::Action::QueryInformation(_tag) => { diff --git a/winit/src/window.rs b/winit/src/window.rs index 6e3a383a..3d5a765b 100644 --- a/winit/src/window.rs +++ b/winit/src/window.rs @@ -23,13 +23,17 @@ pub fn resize<Message>(width: u32, height: u32) -> Command<Message> { } /// Maximizes the window. -pub fn maximize<Message>(value: bool) -> Command<Message> { - Command::single(command::Action::Window(window::Action::Maximize(value))) +pub fn maximize<Message>(maximized: bool) -> Command<Message> { + Command::single(command::Action::Window(window::Action::Maximize( + maximized, + ))) } /// Minimes the window. -pub fn minimize<Message>(value: bool) -> Command<Message> { - Command::single(command::Action::Window(window::Action::Minimize(value))) +pub fn minimize<Message>(minimized: bool) -> Command<Message> { + Command::single(command::Action::Window(window::Action::Minimize( + minimized, + ))) } /// Moves a window to the given logical coordinates. @@ -84,3 +88,10 @@ pub fn request_user_attention<Message>( pub fn gain_focus<Message>() -> Command<Message> { Command::single(command::Action::Window(window::Action::GainFocus)) } + +/// Changes whether or not the window will always be on top of other windows. +pub fn change_always_on_top<Message>(on_top: bool) -> Command<Message> { + Command::single(command::Action::Window(window::Action::ChangeAlwaysOnTop( + on_top, + ))) +} |