Skip to main content

BufferLengths

Struct BufferLengths 

Source
pub struct BufferLengths {
    pub points: u32,
    pub contours: u32,
    pub unscaled: u32,
    pub deltas: u32,
    pub iup: u32,
    pub composite_deltas: u32,
}
Expand description

How long each scratch buffer an outline needs has to be.

These are element counts, not byte lengths: the element types differ per buffer and, for the coordinate buffers, per Scale. For the bytes one block needs to hold them all, see packed_len.

Created by OutlinePlan::buffer_lengths.

Fields§

§points: u32

Scaled points, including phantom points. The flag buffer is this long too, since there is one flag per point.

§contours: u32

Contour end point indices.

§unscaled: u32

Points in font units, or zero when the Scale does not keep them.

§deltas: u32

Accumulated variation deltas, or zero for a non-variable draw.

§iup: u32

Working space for interpolating sparse deltas.

§composite_deltas: u32

Per-component deltas for composite glyphs.

Implementations§

Source§

impl BufferLengths

Source

pub fn packed_len<S: Scale>(&self) -> usize

The number of bytes Buffers::from_bytes needs to carve every buffer from one block.

Includes room to align the block, which need not be aligned already. Zero when the outline needs no storage.

Trait Implementations§

Source§

impl Clone for BufferLengths

Source§

fn clone(&self) -> BufferLengths

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 Copy for BufferLengths

Source§

impl Debug for BufferLengths

Source§

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

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

impl Default for BufferLengths

Source§

fn default() -> BufferLengths

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

impl Eq for BufferLengths

Source§

impl PartialEq for BufferLengths

Source§

fn eq(&self, other: &BufferLengths) -> 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 BufferLengths

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