Skip to main content

Line

Struct Line 

Source
pub struct Line {
    pub runs: Vec<ShapedRun>,
    pub spans: Spans,
    pub boxes: Vec<InlineFragment>,
    pub width: u32,
    pub overhang: f32,
    pub protrusion: f32,
    pub box_: LineBox,
}
Expand description

One typeset line: shaped runs plus its width in font units.

A line is a band of the page, which is set in one span or in several. The runs are in reading order across all of them.

Fields§

§runs: Vec<ShapedRun>

The line’s runs, in visual order.

§spans: Spans

The spans the runs are divided between, in reading order.

§boxes: Vec<InlineFragment>

The boxes the inline elements on the line paint there, outermost first. Empty on the ordinary line of a book.

§width: u32

Advance of the line’s glyphs, trailing spaces excluded; a hyphenated line’s hyphen is charged here even though the glyph joins the runs when the structured outpur paints it. What hangs past the measure is charged here too, and taken off again by overhang and protrusion.

§overhang: f32

Points the line’s last glyph hangs past the measure.

§protrusion: f32

Points the line’s first glyph hangs before the line’s origin.

§box_: LineBox

The line’s vertical geometry — computed here, in points; downstream stages position against it, never re-measure.

Implementations§

Source§

impl Line

Source

pub fn of(runs: Vec<ShapedRun>, box_: LineBox) -> Line

Shaped runs as a line of one span: page furniture, an ornament, an initial letter, and anything else set rather than broken.

Trait Implementations§

Source§

impl Clone for Line

Source§

fn clone(&self) -> Line

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Line

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Line

Source§

fn eq(&self, other: &Line) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Line

Auto Trait Implementations§

§

impl Freeze for Line

§

impl RefUnwindSafe for Line

§

impl Send for Line

§

impl Sync for Line

§

impl Unpin for Line

§

impl UnsafeUnpin for Line

§

impl UnwindSafe for Line

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, dest: *mut u8)

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

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> Finish for T

§

fn finish(self)

Does nothing but move self, equivalent to drop.
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,

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
§

impl<U, T> ToOwnedObj<U> for T
where U: FromObjRef<T>,

§

fn to_owned_obj(&self, data: FontData<'_>) -> U

Convert this type into T, using the provided data to resolve any offsets.
§

impl<U, T> ToOwnedTable<U> for T
where U: FromTableRef<T>,

§

fn to_owned_table(&self) -> U

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.