From 6855961358d6b81d700afd65445c292fd0da4442 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 2 Jan 2023 20:17:24 +0100 Subject: Create conversion function for `user_attention` in `iced_winit` --- winit/src/application.rs | 14 ++++---------- winit/src/conversion.rs | 16 ++++++++++++++++ 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( 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() -> Command { -- cgit