diff options
author | 2023-01-02 20:17:24 +0100 | |
---|---|---|
committer | 2023-01-02 20:17:36 +0100 | |
commit | 6855961358d6b81d700afd65445c292fd0da4442 (patch) | |
tree | c2de1b39375037d9a54bb7f057f1197263b05dc0 | |
parent | d95b9bf244b5c1f7c8c3e84c1c05a5f81c9162e4 (diff) | |
download | iced-6855961358d6b81d700afd65445c292fd0da4442.tar.gz iced-6855961358d6b81d700afd65445c292fd0da4442.tar.bz2 iced-6855961358d6b81d700afd65445c292fd0da4442.zip |
Create conversion function for `user_attention` in `iced_winit`
-rw-r--r-- | winit/src/application.rs | 14 | ||||
-rw-r--r-- | winit/src/conversion.rs | 16 | ||||
-rw-r--r-- | winit/src/window.rs | 2 |
3 files changed, 21 insertions, 11 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index f98a443b..7092e124 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -674,16 +674,10 @@ pub fn run_command<A, E>( window::Action::ToggleDecorations => { window.set_decorations(!window.is_decorated()) } - window::Action::RequestUserAttention(attention_type) => window - .request_user_attention(match attention_type { - Some(window::UserAttention::Critical) => { - Some(winit::window::UserAttentionType::Critical) - } - Some(window::UserAttention::Informational) => Some( - winit::window::UserAttentionType::Informational, - ), - None => None, - }), + 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> { |