Skip to main content

PlatformTextSystem

Trait PlatformTextSystem 

Source
pub trait PlatformTextSystem: Send + Sync {
Show 13 methods // Required methods fn add_fonts(&self, fonts: Vec<Cow<'static, [u8]>>) -> Result<(), Error>; fn all_font_names(&self) -> Vec<String>; fn font_id(&self, descriptor: &Font) -> Result<FontId, Error>; fn font_metrics(&self, font_id: FontId) -> FontMetrics; fn typographic_bounds( &self, font_id: FontId, glyph_id: GlyphId, ) -> Result<Bounds<f32>, Error>; fn advance( &self, font_id: FontId, glyph_id: GlyphId, ) -> Result<Size<f32>, Error>; fn glyph_for_char(&self, font_id: FontId, ch: char) -> Option<GlyphId>; fn glyph_raster_bounds( &self, params: &RenderGlyphParams, ) -> Result<Bounds<DevicePixels>, Error>; fn rasterize_glyph( &self, params: &RenderGlyphParams, raster_bounds: Bounds<DevicePixels>, ) -> Result<(Size<DevicePixels>, Vec<u8>), Error>; 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 methods fn prewarm_fonts(&self, _font_ids: &[FontId]) { ... } fn glyph_dilation_for_color(&self, _color: Hsla) -> u8 { ... }
}

Required Methods§

Source

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

Source

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

Get all available font names.

Source

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

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>, Error>

Get typographic bounds for a glyph.

Source

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

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>, Error>

Get raster bounds for a glyph.

Source

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

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 prewarm_fonts(&self, _font_ids: &[FontId])

Prewarm any system font caches needed to shape text.

Source

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

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

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl PlatformTextSystem for CosmicTextSystem

Source§

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

Source§

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

Source§

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

Source§

fn prewarm_fonts(&self, font_ids: &[FontId])

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§