pub struct LayoutGlyph {
    pub start: usize,
    pub end: usize,
    pub x: f32,
    pub w: f32,
    pub level: Level,
    pub cache_key: CacheKey,
    pub x_offset: f32,
    pub y_offset: f32,
    pub x_int: i32,
    pub y_int: i32,
    pub color_opt: Option<Color>,
    pub metadata: usize,
}
Expand description

A laid out glyph

Fields§

§start: usize

Start index of cluster in original line

§end: usize

End index of cluster in original line

§x: f32

X offset of hitbox

§w: f32

width of hitbox

§level: Level

Unicode BiDi embedding level, character is left-to-right if level is divisible by 2

§cache_key: CacheKey

Cache key, see CacheKey

§x_offset: f32

X offset in line

If you are dealing with physical coordinates, you will want to use Self::x_int together with CacheKey::x_bin instead. This will ensure the best alignment of the rasterized glyphs with the pixel grid.

This offset is useful when you are dealing with logical units and you do not care or cannot guarantee pixel grid alignment. For instance, when you want to use the glyphs for vectorial text, apply linear transformations to the layout, etc.

§y_offset: f32

Y offset in line

If you are dealing with physical coordinates, you will want to use Self::y_int together with CacheKey::y_bin instead. This will ensure the best alignment of the rasterized glyphs with the pixel grid.

This offset is useful when you are dealing with logical units and you do not care or cannot guarantee pixel grid alignment. For instance, when you want to use the glyphs for vectorial text, apply linear transformations to the layout, etc.

§x_int: i32

Integer component of X offset in line

§y_int: i32

Integer component of Y offset in line

§color_opt: Option<Color>

Optional color override

§metadata: usize

Metadata from Attrs

Trait Implementations§

source§

impl Debug for LayoutGlyph

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.