pub struct Row {
pub(crate) section_index_at_start: u32,
pub glyphs: Vec<Glyph>,
pub size: Vec2,
pub visuals: RowVisuals,
pub ends_with_newline: bool,
}Fields§
§section_index_at_start: u32This is included in case there are no glyphs.
Only used during layout, then set to an invalid value in order to
enable the paragraph-concat optimization path without having to
adjust section_index when concatting.
glyphs: Vec<Glyph>One for each char.
size: Vec2Logical size based on font heights etc. Includes leading and trailing whitespace.
visuals: RowVisualsThe mesh, ready to be rendered.
ends_with_newline: boolIf true, this Row came from a paragraph ending with a \n.
The \n itself is omitted from Self::glyphs.
A \n in the input text always creates a new Row below it,
so that text that ends with \n has an empty Row last.
This also implies that the last Row in a Galley always has ends_with_newline == false.
Implementations§
Source§impl Row
impl Row
Sourcepub fn char_count_excluding_newline(&self) -> usize
pub fn char_count_excluding_newline(&self) -> usize
Excludes the implicit \n after the Row, if any.
Sourcepub fn char_count_including_newline(&self) -> usize
pub fn char_count_including_newline(&self) -> usize
Includes the implicit \n after the Row, if any.
Sourcepub fn char_at(&self, desired_x: f32) -> usize
pub fn char_at(&self, desired_x: f32) -> usize
Closest char at the desired x coordinate in row-relative coordinates.
Returns something in the range [0, char_count_excluding_newline()].