vizia::vg::textlayout

Struct 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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

source§

type Output = T

Should always be Self
source§

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

source§

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>,

source§

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>,

source§

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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more