summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--winit/src/application.rs16
-rw-r--r--winit/src/conversion.rs16
-rw-r--r--winit/src/window.rs2
3 files changed, 27 insertions, 7 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs
index 0f9b562e..7092e124 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -657,12 +657,6 @@ pub fn run_command<A, E>(
mode,
));
}
- window::Action::ToggleMaximize => {
- window.set_maximized(!window.is_maximized())
- }
- window::Action::ToggleDecorations => {
- window.set_decorations(!window.is_decorated())
- }
window::Action::FetchMode(tag) => {
let mode = if window.is_visible().unwrap_or(true) {
conversion::mode(window.fullscreen())
@@ -674,6 +668,16 @@ pub fn run_command<A, E>(
.send_event(tag(mode))
.expect("Send message to event loop");
}
+ window::Action::ToggleMaximize => {
+ window.set_maximized(!window.is_maximized())
+ }
+ window::Action::ToggleDecorations => {
+ window.set_decorations(!window.is_decorated())
+ }
+ window::Action::RequestUserAttention(user_attention) => window
+ .request_user_attention(
+ user_attention.map(conversion::user_attention),
+ ),
},
command::Action::System(action) => match action {
system::Action::QueryInformation(_tag) => {
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs
index b1076afe..1418e346 100644
--- a/winit/src/conversion.rs
+++ b/winit/src/conversion.rs
@@ -493,6 +493,22 @@ pub fn key_code(
}
}
+/// Converts some [`UserAttention`] into it's `winit` counterpart.
+///
+/// [`UserAttention`]: window::UserAttention
+pub fn user_attention(
+ user_attention: window::UserAttention,
+) -> winit::window::UserAttentionType {
+ match user_attention {
+ window::UserAttention::Critical => {
+ winit::window::UserAttentionType::Critical
+ }
+ window::UserAttention::Informational => {
+ winit::window::UserAttentionType::Informational
+ }
+ }
+}
+
// As defined in: http://www.unicode.org/faq/private_use.html
pub(crate) fn is_private_use_character(c: char) -> bool {
matches!(
diff --git a/winit/src/window.rs b/winit/src/window.rs
index f6b43a0f..89db3262 100644
--- a/winit/src/window.rs
+++ b/winit/src/window.rs
@@ -2,7 +2,7 @@
use crate::command::{self, Command};
use iced_native::window;
-pub use window::{Event, Mode};
+pub use window::{Event, Mode, UserAttention};
/// Closes the current window and exits the application.
pub fn close<Message>() -> Command<Message> {