Skip to main content

GlyphRunBuilder

Struct GlyphRunBuilder 

Source
pub struct GlyphRunBuilder<'a, B> {
    run: GlyphRun<'a>,
    backend: B,
}
Expand description

A builder for configuring and drawing glyphs.

Fields§

§run: GlyphRun<'a>§backend: B

Implementations§

Source§

impl<'a, B> GlyphRunBuilder<'a, B>

Source

pub fn new( font: FontData, transform: Affine, paint_transform: Affine, backend: B, ) -> Self

Creates a new builder for drawing glyphs with a pre-bound backend.

Source

pub fn font_size(self, size: f32) -> Self

Set the font size in pixels per em.

Source

pub fn font_embolden(self, embolden: FontEmbolden) -> Self

Set synthetic embolden settings.

Source

pub fn glyph_transform(self, transform: Affine) -> Self

Set the per-glyph transform. Use Affine::skew with a horizontal-only skew to simulate italic text.

Source

pub fn hint(self, hint: bool) -> Self

Set whether font hinting is enabled.

This performs vertical hinting only. Hinting is performed only if the combined transform and glyph_transform have a uniform scale and no vertical skew or rotation.

Source

pub fn normalized_coords(self, coords: &'a [NormalizedCoord]) -> Self

Set normalized variation coordinates for variable fonts.

Source§

impl<'a, B> GlyphRunBuilder<'a, B>
where B: GlyphRunBackend<'a>,

Source

pub fn atlas_cache(self, enabled: bool) -> Self

Enable or disable the glyph atlas cache.

Note: Atlas caching is currently highly experimental and not recommended for external use.

Source

pub fn fill_glyphs<Glyphs>(self, glyphs: Glyphs)
where Glyphs: Iterator<Item = Glyph> + Clone,

Fill the glyphs using the current settings.

Source

pub fn stroke_glyphs<Glyphs>(self, glyphs: Glyphs)
where Glyphs: Iterator<Item = Glyph> + Clone,

Stroke the glyphs using the current settings.

Source

pub fn render_decoration<Glyphs>( self, glyphs: Glyphs, x_range: RangeInclusive<f32>, baseline_y: f32, offset: f32, size: f32, buffer: f32, )
where Glyphs: Iterator<Item = Glyph> + Clone,

Render a decoration (e.g. underline) with skip-ink behavior.

See GlyphRunRenderer::render_decoration.

Trait Implementations§

Source§

impl<'a, B: Debug> Debug for GlyphRunBuilder<'a, B>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, B> Freeze for GlyphRunBuilder<'a, B>
where B: Freeze,

§

impl<'a, B> !RefUnwindSafe for GlyphRunBuilder<'a, B>

§

impl<'a, B> Send for GlyphRunBuilder<'a, B>
where B: Send,

§

impl<'a, B> Sync for GlyphRunBuilder<'a, B>
where B: Sync,

§

impl<'a, B> Unpin for GlyphRunBuilder<'a, B>
where B: Unpin,

§

impl<'a, B> UnsafeUnpin for GlyphRunBuilder<'a, B>
where B: UnsafeUnpin,

§

impl<'a, B> !UnwindSafe for GlyphRunBuilder<'a, B>

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, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

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.