1use std::{
2 any::Any,
3 borrow::Cow,
4 fmt::Debug,
5};
6
7use bytes::Bytes;
8
9use crate::prelude::AccessibilityFocusStrategy;
10
11#[derive(Debug)]
12pub enum UserEvent {
13 RequestRedraw,
14
15 FocusAccessibilityNode(AccessibilityFocusStrategy),
17
18 SetCustomScaleFactor(f64),
20
21 LoadFont {
23 font_name: Cow<'static, str>,
24 font_data: Bytes,
25 },
26
27 Erased(SingleThreadErasedEvent),
28}
29
30pub struct SingleThreadErasedEvent(pub Box<dyn Any>);
31
32impl Debug for SingleThreadErasedEvent {
33 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
34 f.write_str("SingleThreadErasedEvent")
35 }
36}
37
38unsafe impl Send for SingleThreadErasedEvent {}
43unsafe impl Sync for SingleThreadErasedEvent {}