pub trait Program<Message, Renderer = Renderer<Backend, Theme>>where
Renderer: Renderer,{
type State: Default + 'static;
// Required method
fn draw(
&self,
state: &Self::State,
renderer: &Renderer,
theme: &<Renderer as Renderer>::Theme,
bounds: Rectangle<f32>,
cursor: Cursor
) -> Vec<Geometry, Global>;
// Provided methods
fn update(
&self,
_state: &mut Self::State,
_event: Event,
_bounds: Rectangle<f32>,
_cursor: Cursor
) -> (Status, Option<Message>) { ... }
fn mouse_interaction(
&self,
_state: &Self::State,
_bounds: Rectangle<f32>,
_cursor: Cursor
) -> Interaction { ... }
}
Available on crate feature
canvas
only.