pub trait Widget: Debug {
// Required methods
fn layout(&mut self, constraints: Constraints) -> Size;
fn paint(&self, rect: Rect);
// Provided methods
fn on_event(&mut self, event: &Event, rect: Rect) -> EventResponse { ... }
fn name(&self) -> &str { ... }
}Expand description
Every UI element implements this.
Required Methods§
Sourcefn layout(&mut self, constraints: Constraints) -> Size
fn layout(&mut self, constraints: Constraints) -> Size
Measure and return the widget’s size given constraints.
Provided Methods§
Sourcefn on_event(&mut self, event: &Event, rect: Rect) -> EventResponse
fn on_event(&mut self, event: &Event, rect: Rect) -> EventResponse
Handle an event. Default: ignore.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".