Skip to main content

BoundsSink

Struct BoundsSink 

Source
pub(super) struct BoundsSink<'a> {
    outlines: OutlineGlyphs<'a>,
    transforms: SmallVec<[Matrix<f32>; 8]>,
    clips: SmallVec<[Bounds; 8]>,
    groups: SmallVec<[Bounds; 8]>,
}
Expand description

A sink that paints nothing and measures what would have been painted.

Fields§

§outlines: OutlineGlyphs<'a>§transforms: SmallVec<[Matrix<f32>; 8]>

The transformation matrix at each depth. The last one is current.

§clips: SmallVec<[Bounds; 8]>

The clip at each depth, in root coordinates. The last one is current.

§groups: SmallVec<[Bounds; 8]>

The area painted by each open layer. The last one is current.

Implementations§

Source§

impl<'a> BoundsSink<'a>

Source

pub(super) fn new(outlines: OutlineGlyphs<'a>) -> Self

Source

pub(super) fn bounds(&self) -> BoundingBox<f32>

Returns the bounding box of everything painted, or an empty box at the origin if nothing was painted.

Source

fn current_transform(&self) -> &Matrix<f32>

Source

fn current_clip(&self) -> Bounds

Source

fn push_clip(&mut self, bounds: Bounds)

Clips to bounds, given in the current coordinate space.

Source

fn paint(&mut self)

Records a fill of the current clip.

Trait Implementations§

Source§

impl PaintSink for BoundsSink<'_>

Source§

fn push_transform(&mut self, transform: Matrix<f32>)

Concatenates transform to the current transformation matrix.
Source§

fn pop_transform(&mut self)

Restores the transformation matrix from before the last push_transform.
Source§

fn push_clip_glyph(&mut self, glyph: GlyphId)

Clips to the outline of glyph.
Source§

fn push_clip_box(&mut self, clip_box: BoundingBox<f32>)

Clips to clip_box.
Source§

fn pop_clip(&mut self)

Restores the clip from before the last push_clip_glyph or push_clip_box.
Source§

fn fill(&mut self, _brush: Brush<'_>)

Fills the current clip with brush.
Source§

fn push_layer(&mut self, _composite_mode: CompositeMode)

Pushes a new layer that pop_layer composites onto the layer below with composite_mode.
Source§

fn pop_layer_with_mode(&mut self, composite_mode: CompositeMode)

Same as pop_layer, but also receives the composite mode. Read more
Source§

fn fill_glyph( &mut self, glyph: GlyphId, brush_transform: Option<Matrix<f32>>, brush: Brush<'_>, )

Clips to the outline of glyph and fills it with brush, with brush_transform applied to the brush alone. Read more
Source§

fn paint_cached_color_glyph( &mut self, _glyph: GlyphId, ) -> Result<PaintCachedColorGlyph, Error>

Paints a nested color glyph from the sink’s cache, if it has one. Read more
Source§

fn pop_layer(&mut self)

Composites the last layer onto the layer below, using the mode passed to the matching push_layer.

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for BoundsSink<'a>

§

impl<'a> !UnwindSafe for BoundsSink<'a>

§

impl<'a> Freeze for BoundsSink<'a>

§

impl<'a> Send for BoundsSink<'a>

§

impl<'a> Sync for BoundsSink<'a>

§

impl<'a> Unpin for BoundsSink<'a>

§

impl<'a> UnsafeUnpin for BoundsSink<'a>

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> ErasedDestructor for T
where T: 'static,

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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.