pub trait Screen {
fn size(&self) -> Vector;
fn out(
&mut self,
p: Point,
fg: Color,
bg: Option<Color>,
attr: Attr,
text: &str,
hard: Range<i16>,
soft: Range<i16>
) -> Range<i16>;
fn update(
&mut self,
cursor: Option<Point>,
wait: bool
) -> Result<Option<Event>, Errno>;
}