1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
use glutin::Window; pub use winit::{ElementState, Event, MouseButton, MouseCursor, MouseScrollDelta, ScanCode, TouchPhase, VirtualKeyCode}; pub trait PollEvents { type Output: IntoIterator<Item = Event>; fn poll_events(&mut self) -> Self::Output; } impl PollEvents for Window { type Output = Vec<Event>; fn poll_events(&mut self) -> Self::Output { (&*self).poll_events().collect() } } pub trait React { fn react(&mut self, event: &Event); } impl React for () { fn react(&mut self, _: &Event) {} }