Skip to main content

ShapeCache

Struct ShapeCache 

Source
pub struct ShapeCache { /* private fields */ }

Implementations§

Source§

impl ShapeCache

Source

pub fn new(capacity: usize) -> ShapeCache

Source

pub fn growing(capacity: usize, max_capacity: usize) -> ShapeCache

A cache that may grow from capacity up to max_capacity once all of its entries are live, i.e. every one was touched within the last capacity lookups. Evicting an on-screen shape forces the next frame to re-tessellate it, so growing once is the cheaper response to a working set that outgrew the cache.

Source

pub fn capacity(&self) -> usize

Source

pub fn max_capacity(&self) -> usize

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn stats(&self) -> ShapeStats

Source

pub fn reset_stats(&self)

Source

pub fn clear(&self)

Source

pub fn fill( &self, path: &Path, rule: FillRule, opts: RasterOptions, ) -> Rc<Shape>

Source

pub fn fill_styled(&self, path: &Path, style: FillStyle) -> Rc<Shape>

Source

pub fn fill_offset( &self, path: &Path, rule: FillRule, opts: RasterOptions, offset: Vec2, ) -> Rc<Shape>

Source

pub fn stroke( &self, path: &Path, style: &StrokeStyle, opts: RasterOptions, ) -> Rc<Shape>

Source

pub fn stroke_offset( &self, path: &Path, style: &StrokeStyle, opts: RasterOptions, offset: Vec2, ) -> Rc<Shape>

Source

pub fn fill_contours( &self, contours: &[Contour], rule: FillRule, opts: RasterOptions, ) -> Rc<Shape>

Source

pub fn disk(&self, center: Point, radius: f32) -> Rc<Shape>

Source

pub fn rounded_rect(&self, rect: Rect, radius: f32) -> Rc<Shape>

Source

pub fn rect(&self, rect: Rect) -> Rc<Shape>

Source

pub fn begin_prefetch(&self)

Starts a prefetch pass.

While the pass is active, cache misses are recorded instead of tessellated, and each miss returns an empty placeholder Shape. The caller is expected to paint again after ShapeCache::tessellate_prefetch, so the placeholders never reach the screen. Do not retain placeholder shapes across the pass.

Source

pub fn end_prefetch(&self) -> usize

Ends a prefetch pass and returns how many distinct shapes missed the cache. Nothing has been tessellated yet.

Source

pub fn tessellate_prefetch(&self) -> usize

Tessellates the shapes recorded by the last prefetch pass and inserts them into the cache, returning how many were built.

Big batches are split across worker threads; each worker builds its shapes with parallel(false) because the batch already keeps the cores busy. Small batches stay on the calling thread, and a lone shape keeps its own band-parallel rasterizer. Results are inserted in request order so a batch produces the same spans every time.

Trait Implementations§

Source§

impl Debug for ShapeCache

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for ShapeCache

Source§

fn default() -> ShapeCache

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ViewState for T
where T: Default + 'static,