cosmic::iced_widget::canvas

Type Alias Frame

source
pub type Frame<Renderer = Renderer> = Frame<Renderer>;
Expand description

The frame supported by a renderer.

Aliased Type§

struct Frame<Renderer = Renderer> { /* private fields */ }

Implementations

source§

impl<Renderer> Frame<Renderer>
where Renderer: Renderer,

source

pub fn new(renderer: &Renderer, size: Size) -> Frame<Renderer>

Creates a new Frame with the given dimensions.

source

pub fn width(&self) -> f32

Returns the width of the Frame.

source

pub fn height(&self) -> f32

Returns the height of the Frame.

source

pub fn size(&self) -> Size

Returns the dimensions of the Frame.

source

pub fn center(&self) -> Point

Returns the coordinate of the center of the Frame.

source

pub fn fill(&mut self, path: &Path, fill: impl Into<Fill>)

Draws the given Path on the Frame by filling it with the provided style.

source

pub fn fill_rectangle( &mut self, top_left: Point, size: Size, fill: impl Into<Fill>, )

Draws an axis-aligned rectangle given its top-left corner coordinate and its Size on the Frame by filling it with the provided style.

source

pub fn stroke<'a>(&mut self, path: &Path, stroke: impl Into<Stroke<'a>>)

Draws the stroke of the given Path on the Frame with the provided style.

source

pub fn stroke_rectangle<'a>( &mut self, top_left: Point, size: Size, stroke: impl Into<Stroke<'a>>, )

Draws the stroke of an axis-aligned rectangle with the provided style given its top-left corner coordinate and its Size on the Frame .

source

pub fn fill_text(&mut self, text: impl Into<Text>)

Draws the characters of the given Text on the Frame, filling them with the given color.

Warning: All text will be rendered on top of all the layers of a Canvas. Therefore, it is currently only meant to be used for overlays, which is the most common use case.

source

pub fn draw_image(&mut self, bounds: Rectangle, image: impl Into<Image>)

Draws the given Image on the Frame inside the given bounds.

source

pub fn draw_svg(&mut self, bounds: Rectangle, svg: impl Into<Svg>)

Draws the given Svg on the Frame inside the given bounds.

source

pub fn with_save<R>(&mut self, f: impl FnOnce(&mut Frame<Renderer>) -> R) -> R

Stores the current transform of the Frame and executes the given drawing operations, restoring the transform afterwards.

This method is useful to compose transforms and perform drawing operations in different coordinate systems.

source

pub fn push_transform(&mut self)

Pushes the current transform in the transform stack.

source

pub fn pop_transform(&mut self)

Pops a transform from the transform stack and sets it as the current transform.

source

pub fn with_clip<R>( &mut self, region: Rectangle, f: impl FnOnce(&mut Frame<Renderer>) -> R, ) -> R

Executes the given drawing operations within a Rectangle region, clipping any geometry that overflows its bounds. Any transformations performed are local to the provided closure.

This method is useful to perform drawing operations that need to be clipped.

source

pub fn translate(&mut self, translation: Vector)

Applies a translation to the current transform of the Frame.

source

pub fn rotate(&mut self, angle: impl Into<Radians>)

Applies a rotation in radians to the current transform of the Frame.

source

pub fn scale(&mut self, scale: impl Into<f32>)

Applies a uniform scaling to the current transform of the Frame.

source

pub fn scale_nonuniform(&mut self, scale: impl Into<Vector>)

Applies a non-uniform scaling to the current transform of the Frame.

source

pub fn into_geometry(self) -> <Renderer as Renderer>::Geometry

Turns the Frame into its underlying geometry.