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: u32
This 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: Vec2
Logical size based on font heights etc. Includes leading and trailing whitespace.
visuals: RowVisuals
The mesh, ready to be rendered.
ends_with_newline: bool
If 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()]
.