ulmus 0.5.0

An Elm architecture TUI framework
Documentation
use crossterm::event::MouseEvent;

mod border;
mod flexbox;
mod text;

pub use flexbox::{Flexbox, Size};
pub use text::Text;
pub use border::Border;

use crate::{Area, Message};

pub trait Widget {
	fn get_width_hint(&self) -> u16;

	fn get_height_hint(&self) -> u16;

	fn render(&self, area: Area) -> String;

	fn process_mouse(&self, event: MouseEvent, area: Area) -> Message;
}