logo
pub struct Canvas<Message, Theme, P> where
    P: Program<Message, Theme>, 
{ /* private fields */ }
Available on crate feature canvas only.
Expand description

A widget capable of drawing 2D graphics.

Drawing a simple circle

If you want to get a quick overview, here’s how we can draw a simple circle:

use iced::widget::canvas::{self, Canvas, Cursor, Fill, Frame, Geometry, Path, Program};
use iced::{Color, Rectangle, Theme};

// First, we define the data we need for drawing
#[derive(Debug)]
struct Circle {
    radius: f32,
}

// Then, we implement the `Program` trait
impl Program<()> for Circle {
    type State = ();

    fn draw(&self, _state: &(), _theme: &Theme, bounds: Rectangle, _cursor: Cursor) -> Vec<Geometry>{
        // We prepare a new `Frame`
        let mut frame = Frame::new(bounds.size());

        // We create a `Path` representing a simple circle
        let circle = Path::circle(frame.center(), self.radius);

        // And fill it with some color
        frame.fill(&circle, Color::BLACK);

        // Finally, we produce the geometry
        vec![frame.into_geometry()]
    }
}

// Finally, we simply use our `Circle` to create the `Canvas`!
let canvas = Canvas::new(Circle { radius: 50.0 });

Implementations

Creates a new Canvas.

Sets the width of the Canvas.

Sets the height of the Canvas.

Trait Implementations

Formats the value using the given formatter. Read more

Returns the Tag of the Widget. Read more

Returns the State of the Widget. Read more

Returns the width of the Widget.

Returns the height of the Widget.

Returns the layout::Node of the Widget. Read more

Processes a runtime Event. Read more

Returns the current mouse::Interaction of the Widget. Read more

Draws the Widget using the associated Renderer.

Returns the state Tree of the children of the Widget.

Reconciliates the Widget with the provided Tree.

Applies an Operation to the Widget.

Returns the overlay of the Widget, if there is any.

Auto Trait Implementations

Blanket Implementations

Convert the source color to the destination color using the specified method Read more

Convert the source color to the destination color using the bradford method by default Read more

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Convert into T with values clamped to the color defined bounds Read more

Convert into T. The resulting color might be invalid in its color space Read more

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more