pub trait Widget<S: State> {
// Required methods
fn render(
&mut self,
scene: &mut Scene,
theme: &mut dyn Theme,
info: &AppInfo,
layout_node: &LayoutNode,
state: &S,
);
fn layout_style(&mut self, state: &S) -> StyleNode;
fn update(
&mut self,
layout: &LayoutNode,
state: &mut S,
info: &AppInfo,
) -> Update;
fn widget_id(&self) -> WidgetId;
}Expand description
The base trait for all widgets.
Required Methods§
Sourcefn render(
&mut self,
scene: &mut Scene,
theme: &mut dyn Theme,
info: &AppInfo,
layout_node: &LayoutNode,
state: &S,
)
fn render( &mut self, scene: &mut Scene, theme: &mut dyn Theme, info: &AppInfo, layout_node: &LayoutNode, state: &S, )
Render the widget to the canvas.
Sourcefn layout_style(&mut self, state: &S) -> StyleNode
fn layout_style(&mut self, state: &S) -> StyleNode
Return the layout style node for layout computation.