use async_trait::async_trait; use toss::frame::{Frame, Pos, Size}; #[async_trait] pub trait Widget { fn size(max_width: Option, max_height: Option) -> Size; async fn render(frame: &mut Frame, pos: Pos, size: Size); }