Skip to main content

TextState

Struct TextState 

Source
pub struct TextState {
    pub font: Option<(Arc<Font>, f32)>,
    pub font_source: Option<ObjRef>,
    pub char_space: f32,
    pub word_space: f32,
    pub horz_scale: f32,
    pub leading: f32,
    pub rise: f32,
    pub render_mode: TextRenderMode,
    pub stroke_ctm: [f32; 4],
}
Expand description

The text-showing parameters (ISO 32000-1 table 105).

Equality compares the font by its identity rather than its contents: a Font is a large loaded object with no meaningful structural equality, and two states holding the same Arc are the same state.

Fields§

§font: Option<(Arc<Font>, f32)>

The font and its size. Tf always sets the size, and sets the font only when the name resolved — so a bad /Font name changes the size and leaves the font standing.

§font_source: Option<ObjRef>

The /Font resource entry the current font came from, so a regenerated content stream can name the same object. None when the resource was written inline, and therefore has no object to name.

§char_space: f32

Tc, added after each glyph.

§word_space: f32

Tw, added after each single-byte space.

§horz_scale: f32

Tz as a fraction: 150 Tz is 1.5.

§leading: f32

TL, the distance between baselines.

§rise: f32

Ts, the baseline offset.

§render_mode: TextRenderMode

Tr.

§stroke_ctm: [f32; 4]

The 2×2 linear part of the CTM at the Tj, stored as [a, c, b, d].

Set only when Self::render_mode strokes (modes 1, 2, 5, 6); a fill keeps the identity [1, 0, 0, 1]. The transposition is the oracle’s four-float slot (text_ctm[1] = ctm.c, text_ctm[2] = ctm.b): a stroke’s width is measured in user space (ISO 32000-1 §8.4.3.2), so a scaling CTM has to be folded into the device matrix rather than left on the text matrix, and this is the matrix that split consumes.

Trait Implementations§

Source§

impl Clone for TextState

Source§

fn clone(&self) -> TextState

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 TextState

Source§

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

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

impl Default for TextState

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for TextState

Source§

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

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

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

Inequality operator !=. 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> 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, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.