Skip to main content

Widget

Trait Widget 

Source
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§

Source

fn layout(&mut self, constraints: Constraints) -> Size

Measure and return the widget’s size given constraints.

Source

fn paint(&self, rect: Rect)

Called after layout — widget knows its final rect.

Provided Methods§

Source

fn on_event(&mut self, event: &Event, rect: Rect) -> EventResponse

Handle an event. Default: ignore.

Source

fn name(&self) -> &str

Human-readable name for debugging.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§