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}