Struct freya_engine::prelude::LineMetrics

pub struct LineMetrics<'a> {
Show 13 fields pub start_index: usize, pub end_index: usize, pub end_excluding_whitespaces: usize, pub end_including_newline: usize, pub hard_break: bool, pub ascent: f64, pub descent: f64, pub unscaled_ascent: f64, pub height: f64, pub width: f64, pub left: f64, pub baseline: f64, pub line_number: usize, /* private fields */
}

Fields§

§start_index: usize

The index in the text buffer the line begins.

§end_index: usize

The index in the text buffer the line ends.

§end_excluding_whitespaces: usize§end_including_newline: usize§hard_break: bool§ascent: f64

The final computed ascent and descent for the line. This can be impacted by the strut, height, scaling, as well as outlying runs that are very tall.

The top edge is baseline - ascent and the bottom edge is baseline + descent. Ascent and descent are provided as positive numbers. Raw numbers for specific runs of text can be obtained in run_metrics_map. These values are the cumulative metrics for the entire line.

§descent: f64§unscaled_ascent: f64§height: f64

Total height of the paragraph including the current line.

The height of the current line is round(ascent + descent).

§width: f64

Width of the line.

§left: f64

The left edge of the line. The right edge can be obtained with left + width

§baseline: f64

The y position of the baseline for this line from the top of the paragraph.

§line_number: usize

Zero indexed line number

Implementations§

§

impl<'a> LineMetrics<'a>

pub fn get_style_metrics_count(&self, range: Range<usize>) -> usize

Returns the number of style metrics in the given index range.

pub fn get_style_metrics( &'a self, range: Range<usize>, ) -> Vec<(usize, &'a StyleMetrics<'a>)>

Returns indices and references to style metrics in the given range.

Trait Implementations§

§

impl<'a> Clone for LineMetrics<'a>

§

fn clone(&self) -> LineMetrics<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<'a> Debug for LineMetrics<'a>

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for LineMetrics<'a>

§

impl<'a> !RefUnwindSafe for LineMetrics<'a>

§

impl<'a> !Send for LineMetrics<'a>

§

impl<'a> !Sync for LineMetrics<'a>

§

impl<'a> Unpin for LineMetrics<'a>

§

impl<'a> !UnwindSafe for LineMetrics<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.