1use crate::*;
2
3impl Display for NativeEventName {
8 fn fmt(&self, formatter: &mut Formatter<'_>) -> fmt::Result {
18 match self {
19 NativeEventName::Click => write!(formatter, "{EVENT_NAME_CLICK}"),
20 NativeEventName::DblClick => write!(formatter, "{EVENT_NAME_DBLCLICK}"),
21 NativeEventName::MouseDown => write!(formatter, "{EVENT_NAME_MOUSEDOWN}"),
22 NativeEventName::MouseUp => write!(formatter, "{EVENT_NAME_MOUSEUP}"),
23 NativeEventName::MouseMove => write!(formatter, "{EVENT_NAME_MOUSEMOVE}"),
24 NativeEventName::MouseEnter => write!(formatter, "{EVENT_NAME_MOUSEENTER}"),
25 NativeEventName::MouseLeave => write!(formatter, "{EVENT_NAME_MOUSELEAVE}"),
26 NativeEventName::MouseOver => write!(formatter, "{EVENT_NAME_MOUSEOVER}"),
27 NativeEventName::MouseOut => write!(formatter, "{EVENT_NAME_MOUSEOUT}"),
28 NativeEventName::ContextMenu => write!(formatter, "{EVENT_NAME_CONTEXTMENU}"),
29 NativeEventName::Input => write!(formatter, "{EVENT_NAME_INPUT}"),
30 NativeEventName::KeyDown => write!(formatter, "{EVENT_NAME_KEYDOWN}"),
31 NativeEventName::KeyUp => write!(formatter, "{EVENT_NAME_KEYUP}"),
32 NativeEventName::KeyPress => write!(formatter, "{EVENT_NAME_KEYPRESS}"),
33 NativeEventName::Focus => write!(formatter, "{EVENT_NAME_FOCUS}"),
34 NativeEventName::Blur => write!(formatter, "{EVENT_NAME_BLUR}"),
35 NativeEventName::FocusIn => write!(formatter, "{EVENT_NAME_FOCUSIN}"),
36 NativeEventName::FocusOut => write!(formatter, "{EVENT_NAME_FOCUSOUT}"),
37 NativeEventName::Submit => write!(formatter, "{EVENT_NAME_SUBMIT}"),
38 NativeEventName::Change => write!(formatter, "{EVENT_NAME_CHANGE}"),
39 NativeEventName::Drag => write!(formatter, "{EVENT_NAME_DRAG}"),
40 NativeEventName::DragStart => write!(formatter, "{EVENT_NAME_DRAGSTART}"),
41 NativeEventName::DragEnd => write!(formatter, "{EVENT_NAME_DRAGEND}"),
42 NativeEventName::DragOver => write!(formatter, "{EVENT_NAME_DRAGOVER}"),
43 NativeEventName::DragEnter => write!(formatter, "{EVENT_NAME_DRAGENTER}"),
44 NativeEventName::DragLeave => write!(formatter, "{EVENT_NAME_DRAGLEAVE}"),
45 NativeEventName::Drop => write!(formatter, "{EVENT_NAME_DROP}"),
46 NativeEventName::TouchStart => write!(formatter, "{EVENT_NAME_TOUCHSTART}"),
47 NativeEventName::TouchEnd => write!(formatter, "{EVENT_NAME_TOUCHEND}"),
48 NativeEventName::TouchMove => write!(formatter, "{EVENT_NAME_TOUCHMOVE}"),
49 NativeEventName::TouchCancel => write!(formatter, "{EVENT_NAME_TOUCHCANCEL}"),
50 NativeEventName::Wheel => write!(formatter, "{EVENT_NAME_WHEEL}"),
51 NativeEventName::Copy => write!(formatter, "{EVENT_NAME_COPY}"),
52 NativeEventName::Cut => write!(formatter, "{EVENT_NAME_CUT}"),
53 NativeEventName::Paste => write!(formatter, "{EVENT_NAME_PASTE}"),
54 NativeEventName::Play => write!(formatter, "{EVENT_NAME_PLAY}"),
55 NativeEventName::Pause => write!(formatter, "{EVENT_NAME_PAUSE}"),
56 NativeEventName::Ended => write!(formatter, "{EVENT_NAME_ENDED}"),
57 NativeEventName::LoadedData => write!(formatter, "{EVENT_NAME_LOADEDDATA}"),
58 NativeEventName::CanPlay => write!(formatter, "{EVENT_NAME_CANPLAY}"),
59 NativeEventName::VolumeChange => write!(formatter, "{EVENT_NAME_VOLUMECHANGE}"),
60 NativeEventName::TimeUpdate => write!(formatter, "{EVENT_NAME_TIMEUPDATE}"),
61 NativeEventName::HashChange => write!(formatter, "{EVENT_NAME_HASHCHANGE}"),
62 NativeEventName::PopState => write!(formatter, "{EVENT_NAME_POPSTATE}"),
63 NativeEventName::Resize => write!(formatter, "{EVENT_NAME_RESIZE}"),
64 NativeEventName::Scroll => write!(formatter, "{EVENT_NAME_SCROLL}"),
65 NativeEventName::Load => write!(formatter, "{EVENT_NAME_LOAD}"),
66 NativeEventName::Unload => write!(formatter, "{EVENT_NAME_UNLOAD}"),
67 NativeEventName::BeforeUnload => write!(formatter, "{EVENT_NAME_BEFOREUNLOAD}"),
68 NativeEventName::Error => write!(formatter, "{EVENT_NAME_ERROR}"),
69 NativeEventName::Online => write!(formatter, "{EVENT_NAME_ONLINE}"),
70 NativeEventName::Offline => write!(formatter, "{EVENT_NAME_OFFLINE}"),
71 NativeEventName::VisibilityChange => write!(formatter, "{EVENT_NAME_VISIBILITYCHANGE}"),
72 NativeEventName::AnimationStart => write!(formatter, "{EVENT_NAME_ANIMATIONSTART}"),
73 NativeEventName::AnimationEnd => write!(formatter, "{EVENT_NAME_ANIMATIONEND}"),
74 NativeEventName::AnimationIteration => {
75 write!(formatter, "{EVENT_NAME_ANIMATIONITERATION}")
76 }
77 NativeEventName::TransitionStart => write!(formatter, "{EVENT_NAME_TRANSITIONSTART}"),
78 NativeEventName::TransitionEnd => write!(formatter, "{EVENT_NAME_TRANSITIONEND}"),
79 NativeEventName::TransitionRun => write!(formatter, "{EVENT_NAME_TRANSITIONRUN}"),
80 NativeEventName::EuvSignalUpdate => write!(formatter, "{EUV_SIGNAL_UPDATE}"),
81 NativeEventName::Other(name) => write!(formatter, "{name}"),
82 }
83 }
84}
85
86impl FromStr for NativeEventName {
109 type Err = ParseNativeEventNameError;
110
111 fn from_str(data: &str) -> Result<Self, Self::Err> {
122 match data {
123 EVENT_NAME_CLICK => Ok(NativeEventName::Click),
124 EVENT_NAME_DBLCLICK => Ok(NativeEventName::DblClick),
125 EVENT_NAME_MOUSEDOWN => Ok(NativeEventName::MouseDown),
126 EVENT_NAME_MOUSEUP => Ok(NativeEventName::MouseUp),
127 EVENT_NAME_MOUSEMOVE => Ok(NativeEventName::MouseMove),
128 EVENT_NAME_MOUSEENTER => Ok(NativeEventName::MouseEnter),
129 EVENT_NAME_MOUSELEAVE => Ok(NativeEventName::MouseLeave),
130 EVENT_NAME_MOUSEOVER => Ok(NativeEventName::MouseOver),
131 EVENT_NAME_MOUSEOUT => Ok(NativeEventName::MouseOut),
132 EVENT_NAME_CONTEXTMENU => Ok(NativeEventName::ContextMenu),
133 EVENT_NAME_INPUT => Ok(NativeEventName::Input),
134 EVENT_NAME_KEYDOWN => Ok(NativeEventName::KeyDown),
135 EVENT_NAME_KEYUP => Ok(NativeEventName::KeyUp),
136 EVENT_NAME_KEYPRESS => Ok(NativeEventName::KeyPress),
137 EVENT_NAME_FOCUS => Ok(NativeEventName::Focus),
138 EVENT_NAME_BLUR => Ok(NativeEventName::Blur),
139 EVENT_NAME_FOCUSIN => Ok(NativeEventName::FocusIn),
140 EVENT_NAME_FOCUSOUT => Ok(NativeEventName::FocusOut),
141 EVENT_NAME_SUBMIT => Ok(NativeEventName::Submit),
142 EVENT_NAME_CHANGE => Ok(NativeEventName::Change),
143 EVENT_NAME_DRAG => Ok(NativeEventName::Drag),
144 EVENT_NAME_DRAGSTART => Ok(NativeEventName::DragStart),
145 EVENT_NAME_DRAGEND => Ok(NativeEventName::DragEnd),
146 EVENT_NAME_DRAGOVER => Ok(NativeEventName::DragOver),
147 EVENT_NAME_DRAGENTER => Ok(NativeEventName::DragEnter),
148 EVENT_NAME_DRAGLEAVE => Ok(NativeEventName::DragLeave),
149 EVENT_NAME_DROP => Ok(NativeEventName::Drop),
150 EVENT_NAME_TOUCHSTART => Ok(NativeEventName::TouchStart),
151 EVENT_NAME_TOUCHEND => Ok(NativeEventName::TouchEnd),
152 EVENT_NAME_TOUCHMOVE => Ok(NativeEventName::TouchMove),
153 EVENT_NAME_TOUCHCANCEL => Ok(NativeEventName::TouchCancel),
154 EVENT_NAME_WHEEL => Ok(NativeEventName::Wheel),
155 EVENT_NAME_COPY => Ok(NativeEventName::Copy),
156 EVENT_NAME_CUT => Ok(NativeEventName::Cut),
157 EVENT_NAME_PASTE => Ok(NativeEventName::Paste),
158 EVENT_NAME_PLAY => Ok(NativeEventName::Play),
159 EVENT_NAME_PAUSE => Ok(NativeEventName::Pause),
160 EVENT_NAME_ENDED => Ok(NativeEventName::Ended),
161 EVENT_NAME_LOADEDDATA => Ok(NativeEventName::LoadedData),
162 EVENT_NAME_CANPLAY => Ok(NativeEventName::CanPlay),
163 EVENT_NAME_VOLUMECHANGE => Ok(NativeEventName::VolumeChange),
164 EVENT_NAME_TIMEUPDATE => Ok(NativeEventName::TimeUpdate),
165 EVENT_NAME_HASHCHANGE => Ok(NativeEventName::HashChange),
166 EVENT_NAME_POPSTATE => Ok(NativeEventName::PopState),
167 EVENT_NAME_RESIZE => Ok(NativeEventName::Resize),
168 EVENT_NAME_SCROLL => Ok(NativeEventName::Scroll),
169 EVENT_NAME_LOAD => Ok(NativeEventName::Load),
170 EVENT_NAME_UNLOAD => Ok(NativeEventName::Unload),
171 EVENT_NAME_BEFOREUNLOAD => Ok(NativeEventName::BeforeUnload),
172 EVENT_NAME_ERROR => Ok(NativeEventName::Error),
173 EVENT_NAME_ONLINE => Ok(NativeEventName::Online),
174 EVENT_NAME_OFFLINE => Ok(NativeEventName::Offline),
175 EVENT_NAME_VISIBILITYCHANGE => Ok(NativeEventName::VisibilityChange),
176 EVENT_NAME_ANIMATIONSTART => Ok(NativeEventName::AnimationStart),
177 EVENT_NAME_ANIMATIONEND => Ok(NativeEventName::AnimationEnd),
178 EVENT_NAME_ANIMATIONITERATION => Ok(NativeEventName::AnimationIteration),
179 EVENT_NAME_TRANSITIONSTART => Ok(NativeEventName::TransitionStart),
180 EVENT_NAME_TRANSITIONEND => Ok(NativeEventName::TransitionEnd),
181 EVENT_NAME_TRANSITIONRUN => Ok(NativeEventName::TransitionRun),
182 "" => Err(ParseNativeEventNameError::new(data.to_string())),
183 other => Ok(NativeEventName::Other(other.to_string())),
184 }
185 }
186}