pub mod background; pub mod empty; pub mod list; pub mod text; use async_trait::async_trait; use toss::frame::{Frame, Pos, Size}; #[async_trait] pub trait Widget { fn size(&self, frame: &mut Frame, max_width: Option, max_height: Option) -> Size; async fn render(self: Box, frame: &mut Frame); }