Skip to main content

FragmentParams

Struct FragmentParams 

Source
pub struct FragmentParams {
Show 25 fields pub text: String, pub offset: usize, pub length: usize, pub font_family: Option<String>, pub font_weight: Option<u32>, pub font_bold: Option<bool>, pub font_italic: Option<bool>, pub font_point_size: Option<u32>, pub underline_style: UnderlineStyle, pub overline: bool, pub strikeout: bool, pub is_link: bool, pub letter_spacing: f32, pub word_spacing: f32, pub foreground_color: Option<[f32; 4]>, pub underline_color: Option<[f32; 4]>, pub background_color: Option<[f32; 4]>, pub anchor_href: Option<String>, pub tooltip: Option<String>, pub vertical_alignment: VerticalAlignment, pub image_name: Option<String>, pub image_width: f32, pub image_height: f32, pub footnote_marker: Option<String>, pub features: Vec<FontFeature>,
}
Expand description

A text fragment with its formatting parameters.

Fields§

§text: String§offset: usize

Byte offset of this fragment’s first character inside the owning block’s text. Lifted into glyph clusters by paragraph::flatten_runs so glyph clusters can be compared directly against unicode-linebreak break positions (also bytes) and against the block-level text used for byte_offset_to_char_offset conversion. Hosts threading text-document FragmentContent through the bridge must translate the char-based FragmentContent::offset into bytes before assigning here.

§length: usize§font_family: Option<String>§font_weight: Option<u32>§font_bold: Option<bool>§font_italic: Option<bool>§font_point_size: Option<u32>§underline_style: UnderlineStyle§overline: bool§strikeout: bool§is_link: bool§letter_spacing: f32

Extra space added after each glyph (in pixels). From TextFormat::letter_spacing.

§word_spacing: f32

Extra space added after space glyphs (in pixels). From TextFormat::word_spacing.

§foreground_color: Option<[f32; 4]>

Text foreground color (RGBA). None means default (black).

§underline_color: Option<[f32; 4]>

Underline color (RGBA). None means use foreground_color.

§background_color: Option<[f32; 4]>

Text-level background highlight color (RGBA). None means transparent.

§anchor_href: Option<String>

Hyperlink destination URL.

§tooltip: Option<String>

Tooltip text.

§vertical_alignment: VerticalAlignment

Vertical alignment (normal, superscript, subscript).

§image_name: Option<String>

If Some, this fragment represents an inline image placeholder.

§image_width: f32

Image width in pixels. Only meaningful when image_name is Some.

§image_height: f32

Image height in pixels. Only meaningful when image_name is Some.

§footnote_marker: Option<String>

If Some, this fragment is a footnote reference and this is the marker to draw at its position — a number, usually, but the host decides.

The fragment still occupies exactly the one U+FFFC character its text holds, however many glyphs the marker shapes to. That mismatch is the whole point and the whole hazard: the marker is presentation, and the document must not grow a character because a footnote reached two digits. So the marker is shaped on its own and every resulting glyph is pinned to the sentinel’s cluster, which is what stops the caret landing between the 1 and the 2 of note twelve.

Distinct from Self::image_name rather than folded in with it: an image reserves a box of a size the host measured, a marker reserves whatever its own glyphs advance to, and only the latter needs a font.

§features: Vec<FontFeature>

Discretionary OpenType features to toggle during shaping. Empty = font defaults. See crate::types::FontFeature.

Trait Implementations§

Source§

impl Clone for FragmentParams

Source§

fn clone(&self) -> FragmentParams

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

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

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

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