mod column;
mod row;
pub mod button;
pub mod checkbox;
pub mod image;
pub mod radio;
pub mod slider;
pub mod text;
pub use button::Button;
pub use checkbox::Checkbox;
pub use column::Column;
pub use image::Image;
pub use radio::Radio;
pub use row::Row;
pub use slider::Slider;
pub use text::Text;
use crate::{Event, Hasher, Layout, MouseCursor, Node, Point};
pub trait Widget<Message, Renderer>: std::fmt::Debug {
fn node(&self, renderer: &Renderer) -> Node;
fn draw(
&self,
renderer: &mut Renderer,
layout: Layout<'_>,
cursor_position: Point,
) -> MouseCursor;
fn hash_layout(&self, state: &mut Hasher);
fn on_event(
&mut self,
_event: Event,
_layout: Layout<'_>,
_cursor_position: Point,
_messages: &mut Vec<Message>,
) {
}
}