use super::runner; use crate::event::Event; use crate::event_loop::EventLoopClosed; pub struct EventLoopProxy { runner: runner::Shared, } impl EventLoopProxy { pub fn new(runner: runner::Shared) -> Self { Self { runner } } pub fn send_event(&self, event: T) -> Result<(), EventLoopClosed> { self.runner.send_event(Event::UserEvent(event)); Ok(()) } } impl Clone for EventLoopProxy { fn clone(&self) -> Self { Self { runner: self.runner.clone(), } } }