use std::cell::RefCell; use std::rc::Rc; use copypasta::ClipboardProvider; use crate::platform::PlatformWindow; use crate::{AnyWindowHandle, CursorStyle, DisplayId, PlatformDisplay, WindowOptions}; pub trait Client { fn displays(&self) -> Vec>; fn display(&self, id: DisplayId) -> Option>; fn open_window( &self, handle: AnyWindowHandle, options: WindowOptions, ) -> Box; fn set_cursor_style(&self, style: CursorStyle); fn get_clipboard(&self) -> Rc>; fn get_primary(&self) -> Rc>; }