1#[macro_use]
2mod event_handlers; mod window_base;
5pub (crate) use window_base::WindowBase;
6
7pub use window_base::default_draw_parameters;
8
9mod window_page;
10pub use window_page::WindowPage;
11
12mod window;
13pub use window::Window;
14
15mod settings;
16pub use settings::*;
17
18mod mouse_cursor;
19pub use mouse_cursor::MouseCursor;
20
21use glium::glutin::event::{
22 ModifiersState,
23 MouseScrollDelta,
24 MouseButton,
25};
26
27#[cfg(feature="file_drop")]
28use std::path::PathBuf;
29
30pub static mut mouse_cursor:MouseCursor=MouseCursor::new();
32
33pub static mut window_width:f32=0f32;
35pub static mut window_height:f32=0f32;
37pub static mut window_center:[f32;2]=[0f32;2];
39
40#[cfg(feature="fps_counter")]
44pub static mut fps:u32=0;
45
46#[cfg(feature="ups_counter")]
50pub static mut ups:u32=0;
51
52#[derive(PartialEq)]
53pub (crate) enum EventLoopState<O:PartialEq>{
54 Running,
55 CloseRequested,
56 Closed(O),
57}
58
59#[derive(Clone,Debug)]
62pub enum InnerWindowEvent{
63 EventLoopCloseRequested,
65 Update,
66}
67
68#[derive(Clone,Debug)]
71pub enum WindowEvent{
72 #[cfg(not(feature="lazy"))]
74 Update,
75
76 RedrawRequested,
80
81 CloseRequested,
83
84 EventLoopClosed,
87
88 Suspended,
92 Resumed,
96
97 Focused(bool),
104
105 Resized([u32;2]),
111
112 Moved([i32;2]),
118
119 MouseMovementDelta([f32;2]),
123
124 MouseWheelScroll(MouseScrollDelta),
126 MousePressed(MouseButton),
127 MouseReleased(MouseButton),
128
129 KeyboardPressed(KeyboardButton),
130 KeyboardReleased(KeyboardButton),
131 CharacterInput(char),
132
133 ModifiersChanged(ModifiersState),
137
138 #[cfg(feature="file_drop")]
144 DroppedFile(PathBuf),
145 #[cfg(feature="file_drop")]
151 HoveredFile(PathBuf),
152 #[cfg(feature="file_drop")]
158 HoveredFileCancelled,
159}
160
161#[derive(Clone,PartialEq,Debug)]
162#[repr(u32)]
163pub enum KeyboardButton{
164 One,
165 Two,
166 Three,
167 Four,
168 Five,
169 Six,
170 Seven,
171 Eight,
172 Nine,
173 Zero,
174 A,
175 B,
176 C,
177 D,
178 E,
179 F,
180 G,
181 H,
182 I,
183 J,
184 K,
185 L,
186 M,
187 N,
188 O,
189 P,
190 Q,
191 R,
192 S,
193 T,
194 U,
195 V,
196 W,
197 X,
198 Y,
199 Z,
200 Escape,
201 F1,
202 F2,
203 F3,
204 F4,
205 F5,
206 F6,
207 F7,
208 F8,
209 F9,
210 F10,
211 F11,
212 F12,
213 F13,
214 F14,
215 F15,
216 F16,
217 F17,
218 F18,
219 F19,
220 F20,
221 F21,
222 F22,
223 F23,
224 F24,
225 Screenshot,
226 Scroll,
227 Pause,
228 Insert,
229 Home,
230 Delete,
231 End,
232 PageDown,
233 PageUp,
234 Left,
235 Up,
236 Right,
237 Down,
238 Backspace,
239 Enter,
240 Space,
241 Compose,
242 Caret,
243 Numlock,
244 Numpad0,
245 Numpad1,
246 Numpad2,
247 Numpad3,
248 Numpad4,
249 Numpad5,
250 Numpad6,
251 Numpad7,
252 Numpad8,
253 Numpad9,
254 AbntC1,
255 AbntC2,
256 Add,
257 Apostrophe,
258 Apps,
259 At,
260 Ax,
261 Backslash,
262 Calculator,
263 Capital,
264 Colon,
265 Comma,
266 Convert,
267 Decimal,
268 Divide,
269 Equals,
270 Grave,
271 Kana,
272 Kanji,
273 LeftAlt,
274 LeftBracket,
275 LeftControl,
276 LeftShift,
277 LeftWin,
278 Mail,
279 MediaSelect,
280 MediaStop,
281 Minus,
282 Multiply,
283 Mute,
284 MyComputer,
285 NavigateForward,
286 NavigateBackward,
287 NextTrack,
288 NoConvert,
289 NumpadComma,
290 NumpadEnter,
291 NumpadEquals,
292 OEM102,
293 Period,
294 PlayPause,
295 Power,
296 PrevTrack,
297 RightAlt,
298 RightBracket,
299 RightControl,
300 RightShift,
301 RightWin,
302 Semicolon,
303 Slash,
304 Sleep,
305 Stop,
306 Subtract,
307 Sysrq,
308 Tab,
309 Underline,
310 Unlabeled,
311 VolumeDown,
312 VolumeUp,
313 Wake,
314 WebBack,
315 WebFavorites,
316 WebForward,
317 WebHome,
318 WebRefresh,
319 WebSearch,
320 WebStop,
321 Yen,
322 Copy,
323 Paste,
324 Cut,
325 Unknown,
326}