[][src]Struct glyph_brush::GlyphBrushBuilder

pub struct GlyphBrushBuilder<'a, H = DefaultSectionHasher> {
    pub font_data: Vec<Font<'a>>,
    pub initial_cache_size: (u32, u32),
    pub gpu_cache_scale_tolerance: f32,
    pub gpu_cache_position_tolerance: f32,
    pub cache_glyph_positioning: bool,
    pub cache_glyph_drawing: bool,
    pub section_hasher: H,
}

Builder for a GlyphBrush.

Example

use glyph_brush::{GlyphBrush, GlyphBrushBuilder};

let dejavu: &[u8] = include_bytes!("../../../fonts/DejaVuSans.ttf");
let mut glyph_brush: GlyphBrush<'_, Vertex> =
    GlyphBrushBuilder::using_font_bytes(dejavu).build();

Fields

font_data: Vec<Font<'a>>initial_cache_size: (u32, u32)gpu_cache_scale_tolerance: f32gpu_cache_position_tolerance: f32cache_glyph_positioning: boolcache_glyph_drawing: boolsection_hasher: H

Methods

impl<'a> GlyphBrushBuilder<'a>[src]

pub fn using_font_bytes<B: Into<SharedBytes<'a>>>(font_0_data: B) -> Self[src]

Specifies the default font data used to render glyphs. Referenced with FontId(0), which is default.

pub fn using_fonts_bytes<B, V>(font_data: V) -> Self where
    B: Into<SharedBytes<'a>>,
    V: Into<Vec<B>>, 
[src]

pub fn using_font(font_0: Font<'a>) -> Self[src]

Specifies the default font used to render glyphs. Referenced with FontId(0), which is default.

pub fn using_fonts<V: Into<Vec<Font<'a>>>>(fonts: V) -> Self[src]

impl<'a, H: BuildHasher> GlyphBrushBuilder<'a, H>[src]

pub fn add_font_bytes<B: Into<SharedBytes<'a>>>(
    &mut self,
    font_data: B
) -> FontId
[src]

Adds additional fonts to the one added in using_font / using_font_bytes. Returns a FontId to reference this font.

pub fn add_font(&mut self, font_data: Font<'a>) -> FontId[src]

Adds additional fonts to the one added in using_font / using_font_bytes. Returns a FontId to reference this font.

pub fn initial_cache_size(self, size: (u32, u32)) -> Self[src]

Initial size of 2D texture used as a gpu cache, pixels (width, height). The GPU cache will dynamically quadruple in size whenever the current size is insufficient.

Defaults to (256, 256)

pub fn gpu_cache_scale_tolerance(self, tolerance: f32) -> Self[src]

Sets the maximum allowed difference in scale used for judging whether to reuse an existing glyph in the GPU cache.

Defaults to 0.5

See rusttype docs for rusttype::gpu_cache::Cache

pub fn gpu_cache_position_tolerance(self, tolerance: f32) -> Self[src]

Sets the maximum allowed difference in subpixel position used for judging whether to reuse an existing glyph in the GPU cache. Anything greater than or equal to 1.0 means "don't care".

Defaults to 0.1

See rusttype docs for rusttype::gpu_cache::Cache

pub fn cache_glyph_positioning(self, cache: bool) -> Self[src]

Sets whether perform the calculation of glyph positioning according to the layout every time, or use a cached result if the input Section and GlyphPositioner are the same hash as a previous call.

Improves performance. Should only disable if using a custom GlyphPositioner that is impure according to it's inputs, so caching a previous call is not desired. Disabling also disables cache_glyph_drawing.

Defaults to true

pub fn cache_glyph_drawing(self, cache: bool) -> Self[src]

Sets optimising drawing by reusing the last draw requesting an identical draw queue.

Improves performance. Is disabled if cache_glyph_positioning is disabled.

Defaults to true

pub fn section_hasher<T: BuildHasher>(
    self,
    section_hasher: T
) -> GlyphBrushBuilder<'a, T>
[src]

Sets the section hasher. GlyphBrush cannot handle absolute section hash collisions so use a good hash algorithm.

This hasher is used to distinguish sections, rather than for hashmap internal use.

Defaults to xxHash.

Example

GlyphBrushBuilder::using_font_bytes(some_font)
    .section_hasher(SomeOtherBuildHasher::default())
    // ...

pub fn build<V: Clone + 'static>(self) -> GlyphBrush<'a, V, H>[src]

Builds a GlyphBrush using the input gfx factory

Auto Trait Implementations

impl<'a, H> Send for GlyphBrushBuilder<'a, H> where
    H: Send

impl<'a, H> Sync for GlyphBrushBuilder<'a, H> where
    H: Sync

Blanket Implementations

impl<T> From for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.