#[non_exhaustive]pub enum ShapeKind {
Show 35 variants
Circle,
Square,
Slanted,
Arch,
SemiCircle,
Oval,
Pill,
Triangle,
Arrow,
Fan,
Diamond,
ClamShell,
Pentagon,
Gem,
Sunny,
VerySunny,
Cookie4Sided,
Cookie6Sided,
Cookie7Sided,
Cookie9Sided,
Cookie12Sided,
Clover4Leaf,
Clover8Leaf,
Burst,
SoftBurst,
Boom,
SoftBoom,
Flower,
Puffy,
PuffyDiamond,
Ghostish,
PixelCircle,
PixelTriangle,
Bun,
Heart,
}Expand description
One entry in the Material 3 Expressive named-shape catalog.
Mirrors m3e_shape_kind.dart’s M3EShapeKind enum: 35 variants, in its
declaration order, each resolving to the RoundedPolygon the doc table
on the module cites.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Circle
Square
Slanted
Arch
SemiCircle
Oval
Pill
Triangle
Arrow
Fan
Diamond
ClamShell
Pentagon
Gem
Sunny
VerySunny
Cookie4Sided
Cookie6Sided
Cookie7Sided
Cookie9Sided
Cookie12Sided
Clover4Leaf
Clover8Leaf
Burst
SoftBurst
Boom
SoftBoom
Flower
Puffy
PuffyDiamond
Ghostish
PixelCircle
PixelTriangle
Bun
Heart
Implementations§
Source§impl ShapeKind
impl ShapeKind
Sourcepub const ALL: [ShapeKind; 35]
pub const ALL: [ShapeKind; 35]
Every catalog entry, in declaration order — upstream’s
M3EShapeKind.all.
Sourcepub fn polygon(&self) -> &'static RoundedPolygon
pub fn polygon(&self) -> &'static RoundedPolygon
This kind’s RoundedPolygon, built on first call and cached
thereafter — construction runs the full corner-rounding pipeline per
vertex, which is not free. Repeat calls for the same variant return
the identical cached instance (pointer-equal).
Trait Implementations§
impl Copy for ShapeKind
impl Eq for ShapeKind
impl StructuralPartialEq for ShapeKind
Auto Trait Implementations§
impl Freeze for ShapeKind
impl RefUnwindSafe for ShapeKind
impl Send for ShapeKind
impl Sync for ShapeKind
impl Unpin for ShapeKind
impl UnsafeUnpin for ShapeKind
impl UnwindSafe for ShapeKind
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.