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