Struct iced::widget::Canvas

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