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§
fn add_fonts(&self, fonts: Vec<Cow<'static, [u8]>>) -> Result<()>
Sourcefn all_font_names(&self) -> Vec<String>
fn all_font_names(&self) -> Vec<String>
Get all available font names.
Sourcefn font_metrics(&self, font_id: FontId) -> FontMetrics
fn font_metrics(&self, font_id: FontId) -> FontMetrics
Get metrics for a font.
Sourcefn typographic_bounds(
&self,
font_id: FontId,
glyph_id: GlyphId,
) -> Result<Bounds<f32>>
fn typographic_bounds( &self, font_id: FontId, glyph_id: GlyphId, ) -> Result<Bounds<f32>>
Get typographic bounds for a glyph.
Sourcefn advance(&self, font_id: FontId, glyph_id: GlyphId) -> Result<Size<f32>>
fn advance(&self, font_id: FontId, glyph_id: GlyphId) -> Result<Size<f32>>
Get the advance width for a glyph.
Sourcefn glyph_for_char(&self, font_id: FontId, ch: char) -> Option<GlyphId>
fn glyph_for_char(&self, font_id: FontId, ch: char) -> Option<GlyphId>
Get the glyph ID for a character.
Sourcefn glyph_raster_bounds(
&self,
params: &RenderGlyphParams,
) -> Result<Bounds<DevicePixels>>
fn glyph_raster_bounds( &self, params: &RenderGlyphParams, ) -> Result<Bounds<DevicePixels>>
Get raster bounds for a glyph.
Sourcefn rasterize_glyph(
&self,
params: &RenderGlyphParams,
raster_bounds: Bounds<DevicePixels>,
) -> Result<(Size<DevicePixels>, Vec<u8>)>
fn rasterize_glyph( &self, params: &RenderGlyphParams, raster_bounds: Bounds<DevicePixels>, ) -> Result<(Size<DevicePixels>, Vec<u8>)>
Rasterize a glyph.
Sourcefn layout_line(
&self,
text: &str,
font_size: Pixels,
runs: &[FontRun],
) -> LineLayout
fn layout_line( &self, text: &str, font_size: Pixels, runs: &[FontRun], ) -> LineLayout
Layout a line of text with the given font runs.
Sourcefn recommended_rendering_mode(
&self,
_font_id: FontId,
_font_size: Pixels,
) -> TextRenderingMode
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§
Sourcefn glyph_dilation_for_color(&self, _color: Hsla) -> u8
fn glyph_dilation_for_color(&self, _color: Hsla) -> u8
Returns the dilation level to use for a glyph painted in the given color.