pub struct TextStyle {
pub font_family: Option<String>,
pub font_size: f32,
pub font_weight: FontWeight,
pub font_style: FontStyle,
pub letter_spacing: f32,
pub line_height: Option<f32>,
pub align: TextAlign,
pub vertical_align: TextVerticalAlign,
}Expand description
Everything crate::DrawScope needs to measure and draw a run of text.
A style is a plain value: sizes are already in scope (logical) units, and
every field is resolved — there is no inheritance or theme lookup at draw
time. Build one once and reuse it; measurement is cached on the
(text, style) pair, so a style rebuilt with identical values still hits
the cache.
Fields§
§font_family: Option<String>Family name to resolve against the fonts the app registered. None
asks for the framework’s default family.
Only named families resolve: file-backed families are loaded by the app at startup and looked up by the name in their font tables.
font_size: f32§font_weight: FontWeight§font_style: FontStyle§letter_spacing: f32Extra advance inserted between characters, in scope units.
line_height: Option<f32>Distance between consecutive baselines. None uses the font’s natural
line height.
align: TextAlign§vertical_align: TextVerticalAlignImplementations§
Source§impl TextStyle
impl TextStyle
Sourcepub const DEFAULT_FONT_SIZE: f32 = 14.0
pub const DEFAULT_FONT_SIZE: f32 = 14.0
The size used when a style carries a non-positive or non-finite one. Matches the framework-wide text default.
pub fn new(font_size: f32) -> Self
pub fn with_font_family(self, family: impl Into<String>) -> Self
pub fn with_font_size(self, font_size: f32) -> Self
pub fn with_weight(self, weight: FontWeight) -> Self
pub fn with_style(self, style: FontStyle) -> Self
pub fn with_letter_spacing(self, letter_spacing: f32) -> Self
pub fn with_line_height(self, line_height: f32) -> Self
pub fn with_align(self, align: TextAlign) -> Self
pub fn with_vertical_align(self, vertical_align: TextVerticalAlign) -> Self
Sourcepub fn resolved_font_size(&self) -> f32
pub fn resolved_font_size(&self) -> f32
The font size a measurer/rasterizer will actually use. Non-finite and
non-positive sizes fall back to TextStyle::DEFAULT_FONT_SIZE instead
of producing NaN geometry.
Sourcepub fn resolved_letter_spacing(&self) -> f32
pub fn resolved_letter_spacing(&self) -> f32
The letter spacing a measurer will actually use.
Sourcepub fn resolved_line_height(&self, natural: f32) -> f32
pub fn resolved_line_height(&self, natural: f32) -> f32
The line height a measurer will actually use, given the font’s natural
one. natural is only consulted when the style leaves it unset.