Skip to content

Commit 6855961

Browse files
committed
Create conversion function for user_attention in iced_winit
1 parent d95b9bf commit 6855961

3 files changed

Lines changed: 21 additions & 11 deletions

File tree

winit/src/application.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -674,16 +674,10 @@ pub fn run_command<A, E>(
674674
window::Action::ToggleDecorations => {
675675
window.set_decorations(!window.is_decorated())
676676
}
677-
window::Action::RequestUserAttention(attention_type) => window
678-
.request_user_attention(match attention_type {
679-
Some(window::UserAttention::Critical) => {
680-
Some(winit::window::UserAttentionType::Critical)
681-
}
682-
Some(window::UserAttention::Informational) => Some(
683-
winit::window::UserAttentionType::Informational,
684-
),
685-
None => None,
686-
}),
677+
window::Action::RequestUserAttention(user_attention) => window
678+
.request_user_attention(
679+
user_attention.map(conversion::user_attention),
680+
),
687681
},
688682
command::Action::System(action) => match action {
689683
system::Action::QueryInformation(_tag) => {

winit/src/conversion.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,22 @@ pub fn key_code(
493493
}
494494
}
495495

496+
/// Converts some [`UserAttention`] into it's `winit` counterpart.
497+
///
498+
/// [`UserAttention`]: window::UserAttention
499+
pub fn user_attention(
500+
user_attention: window::UserAttention,
501+
) -> winit::window::UserAttentionType {
502+
match user_attention {
503+
window::UserAttention::Critical => {
504+
winit::window::UserAttentionType::Critical
505+
}
506+
window::UserAttention::Informational => {
507+
winit::window::UserAttentionType::Informational
508+
}
509+
}
510+
}
511+
496512
// As defined in: http://www.unicode.org/faq/private_use.html
497513
pub(crate) fn is_private_use_character(c: char) -> bool {
498514
matches!(

winit/src/window.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
use crate::command::{self, Command};
33
use iced_native::window;
44

5-
pub use window::{Event, Mode};
5+
pub use window::{Event, Mode, UserAttention};
66

77
/// Closes the current window and exits the application.
88
pub fn close<Message>() -> Command<Message> {

0 commit comments

Comments
 (0)