Fill

Enum Fill 

Source
#[repr(u8)]
pub enum Fill { NonZero = 0, EvenOdd = 1, }
Expand description

Describes the rule that determines the interior portion of a shape.

This is only relevant for self-intersecting paths (e.g. a hourglass shape). For non-self-intersecting paths, both rules produce the same result.

Variants§

§

NonZero = 0

Non-zero fill rule.

All regions where the winding number of the path is not zero will be filled. This is generally more correct, but can be more expensive to implement in renderers. This matches the default behavior of the web canvas, and is the default value.

§

EvenOdd = 1

Even-odd fill rule.

All regions where the winding number of the path is odd will be willed. The most common use case for this rule is as an optimisation when the paths are known to not be self-intersecting. There may also be cases where this rendering is desired. This can be implemented more efficiently than even-odd, as the winding number state can be stored in only one bit (and so the winding numbers for several pixels can be packed extremely efficiently).

Trait Implementations§

Source§

impl CheckedBitPattern for Fill

Source§

type Bits = u8

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: &u8) -> bool

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

impl Clone for Fill

Source§

fn clone(&self) -> Fill

Returns a duplicate 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 Contiguous for Fill

Source§

const MIN_VALUE: u8 = 0u8

The lower inclusive bound for valid instances of this type.
Source§

const MAX_VALUE: u8 = 1u8

The upper inclusive bound for valid instances of this type.
Source§

type Int = u8

The primitive integer type with an identical representation to this type. Read more
Source§

fn from_integer(value: Self::Int) -> Option<Self>

If value is within the range for valid instances of this type, returns Some(converted_value), otherwise, returns None. Read more
Source§

fn into_integer(self) -> Self::Int

Perform the conversion from C into the underlying integral type. This mostly exists otherwise generic code would need unsafe for the value as integer Read more
Source§

impl Debug for Fill

Source§

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

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

impl Default for Fill

Source§

fn default() -> Self

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

impl From<Fill> for Style

Source§

fn from(fill: Fill) -> Self

Converts to this type from the input type.
Source§

impl From<Fill> for StyleRef<'_>

Source§

fn from(fill: Fill) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Fill

Source§

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

Source§

fn zeroed() -> Self

Source§

impl Copy for Fill

Source§

impl Eq for Fill

Source§

impl NoUninit for Fill

Source§

impl StructuralPartialEq for Fill

Auto Trait Implementations§

§

impl Freeze for Fill

§

impl RefUnwindSafe for Fill

§

impl Send for Fill

§

impl Sync for Fill

§

impl Unpin for Fill

§

impl UnwindSafe for Fill

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