Skip to main content

PlatformTextSystem

Trait PlatformTextSystem 

Source
pub trait PlatformTextSystem: Send + Sync {
Show 14 methods // 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; // Provided methods fn clear_glyph_raster_cache(&self) { ... } fn prewarm_fonts(&self, _font_ids: &[FontId]) { ... } fn set_missing_glyph_sink(&self, _sink: Arc<dyn MissingGlyphSink>) { ... } 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>

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Provided Methods§

Source

fn clear_glyph_raster_cache(&self)

Drop platform-side glyph rasterization data associated with the core raster-bounds cache.

Source

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

Prewarm any system font caches needed to shape text.

Source

fn set_missing_glyph_sink(&self, _sink: Arc<dyn MissingGlyphSink>)

Installs the sink for grapheme clusters that exhaust font fallback during Self::layout_line. The core text system installs its reporter when it is created. Platforms that do not detect missing glyphs keep the default no-op.

Source

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

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§