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