Skip to main content

ParagraphResult

Struct ParagraphResult 

Source
pub struct ParagraphResult {
    pub width: f32,
    pub height: f32,
    pub baseline_first: f32,
    pub line_count: usize,
    pub line_height: f32,
    pub glyphs: Vec<GlyphQuad>,
    pub spans: Vec<LaidOutSpan>,
}
Expand description

Result of [crate::Typesetter::layout_paragraph].

Contains the measured dimensions and GPU-ready glyph quads for a multi-line paragraph wrapped at a fixed width. Glyphs are positioned in paragraph-local coordinates: x = 0 is the left edge of the paragraph, y = 0 is the top of the first line’s line box. The adapter should offset all glyph quads by the paragraph’s screen position before drawing.

Fields§

§width: f32

Width of the widest laid-out line, in pixels. May be less than the max_width passed to layout_paragraph if the content is narrower.

§height: f32

Total stacked paragraph height in pixels — sum of line heights for all emitted lines.

§baseline_first: f32

Distance from y = 0 to the baseline of the first line, in pixels.

§line_count: usize

Number of lines actually emitted (respects max_lines when set).

§line_height: f32

Line height (single line’s ascent + descent + leading), in pixels. Useful for callers that need to reason about per-line geometry.

§glyphs: Vec<GlyphQuad>

GPU-ready glyph quads in paragraph-local coordinates.

§spans: Vec<LaidOutSpan>

Per-span bounding rectangles for markup-aware layout ([crate::Typesetter::layout_paragraph_markup]). Empty for the plain-text layout path.

Auto Trait Implementations§

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