Struct read_fonts::tables::glyf::PointFlags

source ·
pub struct PointFlags(/* private fields */);
Expand description

Flags describing the properties of a point.

Some properties, such as on- and off-curve flags are intrinsic to the point itself. Others, designated as markers are set and cleared while an outline is being transformed during variation application and hinting.

Implementations§

source§

impl PointFlags

source

pub const fn on_curve() -> Self

Creates a new on curve point flag.

source

pub const fn off_curve_quad() -> Self

Creates a new off curve quadratic point flag.

source

pub const fn off_curve_cubic() -> Self

Creates a new off curve cubic point flag.

source

pub const fn from_bits(bits: u8) -> Self

Creates a point flag from the given bits. These are truncated to ignore markers.

source

pub const fn is_on_curve(self) -> bool

Returns true if this is an on curve point.

source

pub const fn is_off_curve_quad(self) -> bool

Returns true if this is an off curve quadratic point.

source

pub const fn is_off_curve_cubic(self) -> bool

Returns true if this is an off curve cubic point.

source

pub const fn is_off_curve(self) -> bool

source

pub fn flip_on_curve(&mut self)

Flips the state of the on curve flag.

This is used for the TrueType FLIPPT instruction.

source

pub fn set_on_curve(&mut self)

Enables the on curve flag.

This is used for the TrueType FLIPRGON instruction.

source

pub fn clear_on_curve(&mut self)

Disables the on curve flag.

This is used for the TrueType FLIPRGOFF instruction.

source

pub fn has_marker(self, marker: PointMarker) -> bool

Returns true if the given marker is set for this point.

source

pub fn set_marker(&mut self, marker: PointMarker)

Applies the given marker to this point.

source

pub fn clear_marker(&mut self, marker: PointMarker)

Clears the given marker for this point.

source

pub const fn without_markers(self) -> Self

Returns a copy with all markers cleared.

source

pub const fn to_bits(self) -> u8

Returns the underlying bits.

Trait Implementations§

source§

impl Clone for PointFlags

source§

fn clone(&self) -> PointFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PointFlags

source§

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

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

impl Default for PointFlags

source§

fn default() -> PointFlags

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

impl PartialEq for PointFlags

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Zeroable for PointFlags

source§

fn zeroed() -> Self

source§

impl AnyBitPattern for PointFlags

source§

impl Copy for PointFlags

source§

impl Eq for PointFlags

source§

impl NoUninit for PointFlags

source§

impl StructuralPartialEq for PointFlags

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> CheckedBitPattern for T
where T: AnyBitPattern,

source§

type Bits = T

Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern.
source§

fn is_valid_bit_pattern(_bits: &T) -> bool

If this function returns true, then it must be valid to reinterpret bits as &Self.
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> 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.