pub struct DrawTextStyle {
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 line_height_style: Option<LineHeightStyle>,
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.
line_height_style: Option<LineHeightStyle>How the line sits inside that height. None takes the framework’s plain
split; naming one asks for the platform rule, and is what makes a drawn
run land on the same rows as a composed Text of the same style.
align: TextAlign§vertical_align: TextVerticalAlignImplementations§
Source§impl DrawTextStyle
impl DrawTextStyle
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
Sourcepub fn with_line_height_style(self, line_height_style: LineHeightStyle) -> Self
pub fn with_line_height_style(self, line_height_style: LineHeightStyle) -> Self
Asks for a line-height policy, which is what makes this run resolve its
line box by the same rule a Text composable of the same style does.
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 DrawTextStyle::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.
Trait Implementations§
Source§impl Clone for DrawTextStyle
impl Clone for DrawTextStyle
Source§fn clone(&self) -> DrawTextStyle
fn clone(&self) -> DrawTextStyle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more