pub struct Row {
pub section_index_at_start: u32,
pub glyphs: Vec<Glyph>,
pub rect: Rect,
pub visuals: RowVisuals,
pub ends_with_newline: bool,
}
Fields§
§section_index_at_start: u32
This is included in case there are no glyphs
glyphs: Vec<Glyph>
One for each char
.
rect: Rect
Logical bounding rectangle based on font heights etc. Use this when drawing a selection or similar! 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.
pub fn min_y(&self) -> f32
pub fn max_y(&self) -> f32
pub fn height(&self) -> f32
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.
Returns something in the range [0, char_count_excluding_newline()]
.
pub fn x_offset(&self, column: usize) -> f32
Trait Implementations§
impl StructuralPartialEq for Row
Auto Trait Implementations§
impl Freeze for Row
impl RefUnwindSafe for Row
impl Send for Row
impl Sync for Row
impl Unpin for Row
impl UnwindSafe for Row
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)