summaryrefslogtreecommitdiffstats
path: root/winit/src
diff options
context:
space:
mode:
authorLibravatar Giuliano Bellini <100347457+GyulyVGC@users.noreply.github.com>2023-02-02 16:52:56 +0100
committerLibravatar GitHub <noreply@github.com>2023-02-02 16:52:56 +0100
commita35d6d2e4d59f71309f31c87ea5150959d639185 (patch)
treeefd44456685739bce1962146e66002654c9ecb0e /winit/src
parent49e9a9a5379c1e9a9469045ca9a51ffb860ee620 (diff)
parent98a717383acf71d7939d7cc90d350743487f0380 (diff)
downloadiced-a35d6d2e4d59f71309f31c87ea5150959d639185.tar.gz
iced-a35d6d2e4d59f71309f31c87ea5150959d639185.tar.bz2
iced-a35d6d2e4d59f71309f31c87ea5150959d639185.zip
Merge branch 'iced-rs:master' into master
Diffstat (limited to 'winit/src')
-rw-r--r--winit/src/application.rs4
-rw-r--r--winit/src/application/profiler.rs4
-rw-r--r--winit/src/window.rs47
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))
+}