use std::{any::Any, collections::VecDeque}; use winit::event::WindowEvent; pub mod window_state; pub use window_state::*; pub mod events; pub use events::*; pub trait Resource: Send + Sync + 'static { fn as_any(&self) -> &dyn Any; fn as_any_mut(&mut self) -> &mut dyn Any; } impl Resource for WindowEvent<'static> { fn as_any(&self) -> &dyn Any { self } fn as_any_mut(&mut self) -> &mut dyn Any { self } } impl Resource for VecDeque { fn as_any(&self) -> &dyn Any { self } fn as_any_mut(&mut self) -> &mut dyn Any { self } }