#[repr(C, u8)]pub enum GenericShapeCommand<Angle, LengthPercentage> {
    Move {
        by_to: ByTo,
        point: CoordinatePair<LengthPercentage>,
    },
    Line {
        by_to: ByTo,
        point: CoordinatePair<LengthPercentage>,
    },
    HLine {
        by_to: ByTo,
        x: LengthPercentage,
    },
    VLine {
        by_to: ByTo,
        y: LengthPercentage,
    },
    CubicCurve {
        by_to: ByTo,
        point: CoordinatePair<LengthPercentage>,
        control1: CoordinatePair<LengthPercentage>,
        control2: CoordinatePair<LengthPercentage>,
    },
    QuadCurve {
        by_to: ByTo,
        point: CoordinatePair<LengthPercentage>,
        control1: CoordinatePair<LengthPercentage>,
    },
    SmoothCubic {
        by_to: ByTo,
        point: CoordinatePair<LengthPercentage>,
        control2: CoordinatePair<LengthPercentage>,
    },
    SmoothQuad {
        by_to: ByTo,
        point: CoordinatePair<LengthPercentage>,
    },
    Arc {
        by_to: ByTo,
        point: CoordinatePair<LengthPercentage>,
        radii: CoordinatePair<LengthPercentage>,
        arc_sweep: ArcSweep,
        arc_size: ArcSize,
        rotate: Angle,
    },
    Close,
}Expand description
This is a more general shape(path) command type, for both shape() and path().
https://www.w3.org/TR/SVG11/paths.html#PathData https://drafts.csswg.org/css-shapes-2/#shape-function
Variants§
Move
The move command.
Line
The line command.
HLine
The hline command.
VLine
The vline command.
CubicCurve
The cubic Bézier curve command.
Fields
point: CoordinatePair<LengthPercentage>control1: CoordinatePair<LengthPercentage>control2: CoordinatePair<LengthPercentage>QuadCurve
The quadratic Bézier curve command.
SmoothCubic
The smooth command.
SmoothQuad
The smooth quadratic Bézier curve command.
Arc
The arc command.
Fields
point: CoordinatePair<LengthPercentage>radii: CoordinatePair<LengthPercentage>rotate: AngleClose
The closepath command.
Implementations§
Source§impl GenericShapeCommand<f32, f32>
 
impl GenericShapeCommand<f32, f32>
Sourcefn normalize(&self, state: &mut PathTraversalState, reduce: bool) -> Self
 
fn normalize(&self, state: &mut PathTraversalState, reduce: bool) -> Self
Create a normalized copy of this PathCommand. Absolute commands will be copied as-is while for relative commands an equivalent absolute command will be returned.
See discussion: https://github.com/w3c/svgwg/issues/321 If reduce is true then the path will be restricted to “M”, “L”, “C”, “A” and “Z” commands.
Sourcefn to_css_for_svg<W>(&self, dest: &mut CssWriter<'_, W>) -> Resultwhere
    W: Write,
 
fn to_css_for_svg<W>(&self, dest: &mut CssWriter<'_, W>) -> Resultwhere
    W: Write,
The serialization of the svg path.
Trait Implementations§
Source§impl<Angle, LengthPercentage> Animate for GenericShapeCommand<Angle, LengthPercentage>
 
impl<Angle, LengthPercentage> Animate for GenericShapeCommand<Angle, LengthPercentage>
Source§impl<Angle: Clone, LengthPercentage: Clone> Clone for GenericShapeCommand<Angle, LengthPercentage>
 
impl<Angle: Clone, LengthPercentage: Clone> Clone for GenericShapeCommand<Angle, LengthPercentage>
Source§fn clone(&self) -> GenericShapeCommand<Angle, LengthPercentage>
 
fn clone(&self) -> GenericShapeCommand<Angle, LengthPercentage>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<Angle, LengthPercentage> ComputeSquaredDistance for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ComputeSquaredDistance,
    LengthPercentage: ComputeSquaredDistance,
 
impl<Angle, LengthPercentage> ComputeSquaredDistance for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ComputeSquaredDistance,
    LengthPercentage: ComputeSquaredDistance,
Source§fn compute_squared_distance(&self, other: &Self) -> Result<SquaredDistance, ()>
 
fn compute_squared_distance(&self, other: &Self) -> Result<SquaredDistance, ()>
Source§impl<Angle: Debug, LengthPercentage: Debug> Debug for GenericShapeCommand<Angle, LengthPercentage>
 
impl<Angle: Debug, LengthPercentage: Debug> Debug for GenericShapeCommand<Angle, LengthPercentage>
Source§impl<'de, Angle, LengthPercentage> Deserialize<'de> for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: Deserialize<'de>,
    LengthPercentage: Deserialize<'de>,
 
impl<'de, Angle, LengthPercentage> Deserialize<'de> for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: Deserialize<'de>,
    LengthPercentage: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
Source§impl From<&GenericShapeCommand<f32, f32>> for ShapeCommand
 
impl From<&GenericShapeCommand<f32, f32>> for ShapeCommand
Source§fn from(path: &PathCommand) -> Self
 
fn from(path: &PathCommand) -> Self
Source§impl<Angle, LengthPercentage> MallocSizeOf for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: MallocSizeOf,
    LengthPercentage: MallocSizeOf,
 
impl<Angle, LengthPercentage> MallocSizeOf for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: MallocSizeOf,
    LengthPercentage: MallocSizeOf,
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
 
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Source§impl<Angle: PartialEq, LengthPercentage: PartialEq> PartialEq for GenericShapeCommand<Angle, LengthPercentage>
 
impl<Angle: PartialEq, LengthPercentage: PartialEq> PartialEq for GenericShapeCommand<Angle, LengthPercentage>
Source§fn eq(&self, other: &GenericShapeCommand<Angle, LengthPercentage>) -> bool
 
fn eq(&self, other: &GenericShapeCommand<Angle, LengthPercentage>) -> bool
self and other values to be equal, and is used by ==.Source§impl<Angle, LengthPercentage> Serialize for GenericShapeCommand<Angle, LengthPercentage>
 
impl<Angle, LengthPercentage> Serialize for GenericShapeCommand<Angle, LengthPercentage>
Source§impl<Angle, LengthPercentage> SpecifiedValueInfo for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: SpecifiedValueInfo,
    LengthPercentage: SpecifiedValueInfo,
 
impl<Angle, LengthPercentage> SpecifiedValueInfo for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: SpecifiedValueInfo,
    LengthPercentage: SpecifiedValueInfo,
Source§const SUPPORTED_TYPES: u8
 
const SUPPORTED_TYPES: u8
Source§impl<Angle, LengthPercentage> ToAnimatedValue for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToAnimatedValue,
    LengthPercentage: ToAnimatedValue,
 
impl<Angle, LengthPercentage> ToAnimatedValue for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToAnimatedValue,
    LengthPercentage: ToAnimatedValue,
Source§type AnimatedValue = GenericShapeCommand<<Angle as ToAnimatedValue>::AnimatedValue, <LengthPercentage as ToAnimatedValue>::AnimatedValue>
 
type AnimatedValue = GenericShapeCommand<<Angle as ToAnimatedValue>::AnimatedValue, <LengthPercentage as ToAnimatedValue>::AnimatedValue>
Source§fn from_animated_value(from: Self::AnimatedValue) -> Self
 
fn from_animated_value(from: Self::AnimatedValue) -> Self
Source§fn to_animated_value(self, context: &Context<'_>) -> Self::AnimatedValue
 
fn to_animated_value(self, context: &Context<'_>) -> Self::AnimatedValue
Source§impl<Angle, LengthPercentage> ToAnimatedZero for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToAnimatedZero,
    LengthPercentage: ToAnimatedZero,
 
impl<Angle, LengthPercentage> ToAnimatedZero for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToAnimatedZero,
    LengthPercentage: ToAnimatedZero,
Source§fn to_animated_zero(&self) -> Result<Self, ()>
 
fn to_animated_zero(&self) -> Result<Self, ()>
Source§impl<Angle, LengthPercentage> ToComputedValue for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToComputedValue,
    LengthPercentage: ToComputedValue,
 
impl<Angle, LengthPercentage> ToComputedValue for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToComputedValue,
    LengthPercentage: ToComputedValue,
Source§type ComputedValue = GenericShapeCommand<<Angle as ToComputedValue>::ComputedValue, <LengthPercentage as ToComputedValue>::ComputedValue>
 
type ComputedValue = GenericShapeCommand<<Angle as ToComputedValue>::ComputedValue, <LengthPercentage as ToComputedValue>::ComputedValue>
Source§fn from_computed_value(from: &Self::ComputedValue) -> Self
 
fn from_computed_value(from: &Self::ComputedValue) -> Self
Source§fn to_computed_value(&self, context: &Context<'_>) -> Self::ComputedValue
 
fn to_computed_value(&self, context: &Context<'_>) -> Self::ComputedValue
Context.Source§impl<Angle, LengthPercentage> ToCss for ShapeCommand<Angle, LengthPercentage>
 
impl<Angle, LengthPercentage> ToCss for ShapeCommand<Angle, LengthPercentage>
Source§fn to_css<W>(&self, dest: &mut CssWriter<'_, W>) -> Resultwhere
    W: Write,
 
fn to_css<W>(&self, dest: &mut CssWriter<'_, W>) -> Resultwhere
    W: Write,
self in CSS syntax, writing to dest.Source§fn to_css_string(&self) -> String
 
fn to_css_string(&self) -> String
self in CSS syntax and return a string. Read moreSource§fn to_css_cssstring(&self) -> String
 
fn to_css_cssstring(&self) -> String
self in CSS syntax and return a CssString. Read moreSource§impl<Angle, LengthPercentage> ToResolvedValue for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToResolvedValue,
    LengthPercentage: ToResolvedValue,
 
impl<Angle, LengthPercentage> ToResolvedValue for GenericShapeCommand<Angle, LengthPercentage>where
    Angle: ToResolvedValue,
    LengthPercentage: ToResolvedValue,
Source§type ResolvedValue = GenericShapeCommand<<Angle as ToResolvedValue>::ResolvedValue, <LengthPercentage as ToResolvedValue>::ResolvedValue>
 
type ResolvedValue = GenericShapeCommand<<Angle as ToResolvedValue>::ResolvedValue, <LengthPercentage as ToResolvedValue>::ResolvedValue>
Source§fn from_resolved_value(from: Self::ResolvedValue) -> Self
 
fn from_resolved_value(from: Self::ResolvedValue) -> Self
Source§fn to_resolved_value(self, context: &Context<'_>) -> Self::ResolvedValue
 
fn to_resolved_value(self, context: &Context<'_>) -> Self::ResolvedValue
Source§impl<Angle, LengthPercentage> ToShmem for GenericShapeCommand<Angle, LengthPercentage>
 
impl<Angle, LengthPercentage> ToShmem for GenericShapeCommand<Angle, LengthPercentage>
impl<Angle: Copy, LengthPercentage: Copy> Copy for GenericShapeCommand<Angle, LengthPercentage>
impl<Angle, LengthPercentage> StructuralPartialEq for GenericShapeCommand<Angle, LengthPercentage>
Auto Trait Implementations§
impl<Angle, LengthPercentage> Freeze for GenericShapeCommand<Angle, LengthPercentage>
impl<Angle, LengthPercentage> RefUnwindSafe for GenericShapeCommand<Angle, LengthPercentage>where
    LengthPercentage: RefUnwindSafe,
    Angle: RefUnwindSafe,
impl<Angle, LengthPercentage> Send for GenericShapeCommand<Angle, LengthPercentage>
impl<Angle, LengthPercentage> Sync for GenericShapeCommand<Angle, LengthPercentage>
impl<Angle, LengthPercentage> Unpin for GenericShapeCommand<Angle, LengthPercentage>
impl<Angle, LengthPercentage> UnwindSafe for GenericShapeCommand<Angle, LengthPercentage>where
    LengthPercentage: UnwindSafe,
    Angle: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more