Skip to main content

PlatformTextSystem

Trait PlatformTextSystem 

Source
pub trait PlatformTextSystem: Send + Sync {
    // Required methods
    fn add_fonts(&self, fonts: Vec<Cow<'static, [u8]>>) -> Result<()>;
    fn all_font_names(&self) -> Vec<String>;
    fn font_id(&self, descriptor: &Font) -> Result<FontId>;
    fn font_metrics(&self, font_id: FontId) -> FontMetrics;
    fn typographic_bounds(
        &self,
        font_id: FontId,
        glyph_id: GlyphId,
    ) -> Result<Bounds<f32>>;
    fn advance(&self, font_id: FontId, glyph_id: GlyphId) -> Result<Size<f32>>;
    fn glyph_for_char(&self, font_id: FontId, ch: char) -> Option<GlyphId>;
    fn glyph_raster_bounds(
        &self,
        params: &RenderGlyphParams,
    ) -> Result<Bounds<DevicePixels>>;
    fn rasterize_glyph(
        &self,
        params: &RenderGlyphParams,
        raster_bounds: Bounds<DevicePixels>,
    ) -> Result<(Size<DevicePixels>, Vec<u8>)>;
    fn layout_line(
        &self,
        text: &str,
        font_size: Pixels,
        runs: &[FontRun],
    ) -> LineLayout;
    fn recommended_rendering_mode(
        &self,
        _font_id: FontId,
        _font_size: Pixels,
    ) -> TextRenderingMode;

    // Provided method
    fn glyph_dilation_for_color(&self, _color: Hsla) -> u8 { ... }
}

Required Methods§

Source

fn add_fonts(&self, fonts: Vec<Cow<'static, [u8]>>) -> Result<()>

Source

fn all_font_names(&self) -> Vec<String>

Get all available font names.

Source

fn font_id(&self, descriptor: &Font) -> Result<FontId>

Get the font ID for a font descriptor.

Source

fn font_metrics(&self, font_id: FontId) -> FontMetrics

Get metrics for a font.

Source

fn typographic_bounds( &self, font_id: FontId, glyph_id: GlyphId, ) -> Result<Bounds<f32>>

Get typographic bounds for a glyph.

Source

fn advance(&self, font_id: FontId, glyph_id: GlyphId) -> Result<Size<f32>>

Get the advance width for a glyph.

Source

fn glyph_for_char(&self, font_id: FontId, ch: char) -> Option<GlyphId>

Get the glyph ID for a character.

Source

fn glyph_raster_bounds( &self, params: &RenderGlyphParams, ) -> Result<Bounds<DevicePixels>>

Get raster bounds for a glyph.

Source

fn rasterize_glyph( &self, params: &RenderGlyphParams, raster_bounds: Bounds<DevicePixels>, ) -> Result<(Size<DevicePixels>, Vec<u8>)>

Rasterize a glyph.

Source

fn layout_line( &self, text: &str, font_size: Pixels, runs: &[FontRun], ) -> LineLayout

Layout a line of text with the given font runs.

Source

fn recommended_rendering_mode( &self, _font_id: FontId, _font_size: Pixels, ) -> TextRenderingMode

Returns the recommended text rendering mode for the given font and size.

Provided Methods§

Source

fn glyph_dilation_for_color(&self, _color: Hsla) -> u8

Returns the dilation level to use for a glyph painted in the given color.

Implementors§