pub trait Program<Message> {
type State: Default + 'static;
type Primitive: Primitive + 'static;
// Required method
fn draw(
&self,
state: &Self::State,
cursor: Cursor,
bounds: Rectangle
) -> Self::Primitive;
// Provided methods
fn update(
&self,
_state: &mut Self::State,
_event: Event,
_bounds: Rectangle,
_cursor: Cursor,
_shell: &mut Shell<'_, Message>
) -> (Status, Option<Message>) { ... }
fn mouse_interaction(
&self,
_state: &Self::State,
_bounds: Rectangle,
_cursor: Cursor
) -> Interaction { ... }
}
Available on crate feature
wgpu
only.