[][src]Struct iced_graphics::widget::canvas::Cache

pub struct Cache { /* fields omitted */ }
This is supported on feature="canvas" only.

A simple cache that stores generated Geometry to avoid recomputation.

A Cache will not redraw its geometry unless the dimensions of its layer change or it is explicitly cleared.

Implementations

impl Cache[src]

pub fn new() -> Self[src]

This is supported on feature="canvas" only.

Creates a new empty Cache.

pub fn clear(&mut self)[src]

This is supported on feature="canvas" only.

Clears the Cache, forcing a redraw the next time it is used.

pub fn draw(&self, bounds: Size, draw_fn: impl Fn(&mut Frame)) -> Geometry[src]

This is supported on feature="canvas" only.

Draws Geometry using the provided closure and stores it in the Cache.

The closure will only be called when

  • the bounds have changed since the previous draw call.
  • the Cache is empty or has been explicitly cleared.

Otherwise, the previously stored Geometry will be returned. The Cache is not cleared in this case. In other words, it will keep returning the stored Geometry if needed.

Trait Implementations

impl Debug for Cache[src]

impl Default for Cache[src]

Auto Trait Implementations

impl !RefUnwindSafe for Cache

impl Send for Cache

impl !Sync for Cache

impl Unpin for Cache

impl UnwindSafe for Cache

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> ConvertInto<U> for T where
    U: ConvertFrom<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,