[][src]Trait iced::widget::canvas::Program

pub trait Program<Message> {
    fn draw(&self, bounds: Rectangle<f32>, cursor: Cursor) -> Vec<Geometry>;

    fn update(
        &mut self,
        _event: Event,
        _bounds: Rectangle<f32>,
        _cursor: Cursor
    ) -> Option<Message> { ... }
fn mouse_interaction(
        &self,
        _bounds: Rectangle<f32>,
        _cursor: Cursor
    ) -> Interaction { ... } }
This is supported on feature="canvas" or feature="glow_canvas" only.

The state and logic of a Canvas.

A Program can mutate internal state and produce messages for an application.

Required methods

fn draw(&self, bounds: Rectangle<f32>, cursor: Cursor) -> Vec<Geometry>

This is supported on feature="canvas" or feature="glow_canvas" only.

Draws the state of the Program, producing a bunch of Geometry.

Geometry can be easily generated with a Frame or stored in a Cache.

Loading content...

Provided methods

fn update(
    &mut self,
    _event: Event,
    _bounds: Rectangle<f32>,
    _cursor: Cursor
) -> Option<Message>

This is supported on feature="canvas" or feature="glow_canvas" only.

Updates the state of the Program.

When a Program is used in a Canvas, the runtime will call this method for each Event.

This method can optionally return a Message to notify an application of any meaningful interactions.

By default, this method does and returns nothing.

fn mouse_interaction(
    &self,
    _bounds: Rectangle<f32>,
    _cursor: Cursor
) -> Interaction

This is supported on feature="canvas" or feature="glow_canvas" only.

Returns the current mouse interaction of the Program.

The interaction returned will be in effect even if the cursor position is out of bounds of the program's Canvas.

Loading content...

Implementations on Foreign Types

impl<'_, T, Message> Program<Message> for &'_ mut T where
    T: Program<Message>, 
[src]

Loading content...

Implementors

Loading content...