client.rs

 1use std::rc::Rc;
 2
 3use crate::platform::PlatformWindow;
 4use crate::{AnyWindowHandle, DisplayId, PlatformDisplay, WindowOptions};
 5
 6pub trait Client {
 7    fn run(&self, on_finish_launching: Box<dyn FnOnce()>);
 8    fn displays(&self) -> Vec<Rc<dyn PlatformDisplay>>;
 9    fn display(&self, id: DisplayId) -> Option<Rc<dyn PlatformDisplay>>;
10    fn open_window(
11        &self,
12        handle: AnyWindowHandle,
13        options: WindowOptions,
14    ) -> Box<dyn PlatformWindow>;
15}