#[non_exhaustive]pub enum Component {
Show 16 variants
Color(Color),
Dimension(Dimension),
DimensionRange(DimensionRange),
Percent(ZeroToOne),
Easing(EasingFunction),
VisualOrder(VisualOrder),
FocusableWidgets(FocusableWidgets),
ContainerLevel(ContainerLevel),
FontFamily(FamilyOwned),
FontWeight(Weight),
FontStyle(Style),
String(CowString),
HorizontalAlign(HorizontalAlign),
VerticalAlign(VerticalAlign),
Custom(CustomComponent),
Dynamic(DynamicComponent),
}
Expand description
A value of a style component.
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.
Color(Color)
A color.
Dimension(Dimension)
A single-dimension measurement.
DimensionRange(DimensionRange)
A single-dimension measurement.
Percent(ZeroToOne)
A percentage between 0.0 and 1.0.
Easing(EasingFunction)
An easing function for animations.
VisualOrder(VisualOrder)
A visual ordering to use for layout.
FocusableWidgets(FocusableWidgets)
A description of what widgets should be focusable.
ContainerLevel(ContainerLevel)
A description of the depth of a
Container
.
FontFamily(FamilyOwned)
A font family.
FontWeight(Weight)
The weight (boldness) of a font.
FontStyle(Style)
The style of a font.
String(CowString)
A string value.
HorizontalAlign(HorizontalAlign)
A horizontal alignment.
VerticalAlign(VerticalAlign)
A vertical alignment.
Custom(CustomComponent)
A custom component type.
Dynamic(DynamicComponent)
This component should use the associated value in the named class.
Implementations§
source§impl Component
impl Component
sourcepub fn custom<T>(component: T) -> Self
pub fn custom<T>(component: T) -> Self
Returns a CustomComponent
created from component
.
Custom components allow storing nearly any type in the style system.
sourcepub fn dynamic<T, Func>(resolve: Func) -> Selfwhere
Func: for<'a, 'context> Fn(&'a WidgetContext<'context>) -> Option<T> + Send + Sync + 'static,
T: ComponentType,
pub fn dynamic<T, Func>(resolve: Func) -> Selfwhere
Func: for<'a, 'context> Fn(&'a WidgetContext<'context>) -> Option<T> + Send + Sync + 'static,
T: ComponentType,
Returns a new DynamicComponent
which allows resolving a component at
runtime.
Trait Implementations§
source§impl From<ContainerLevel> for Component
impl From<ContainerLevel> for Component
source§fn from(value: ContainerLevel) -> Self
fn from(value: ContainerLevel) -> Self
Converts to this type from the input type.
source§impl<Unit> From<CornerRadii<Unit>> for Component
impl<Unit> From<CornerRadii<Unit>> for Component
source§fn from(radii: CornerRadii<Unit>) -> Self
fn from(radii: CornerRadii<Unit>) -> Self
Converts to this type from the input type.
source§impl From<DimensionRange> for Component
impl From<DimensionRange> for Component
source§fn from(value: DimensionRange) -> Self
fn from(value: DimensionRange) -> Self
Converts to this type from the input type.
source§impl From<EasingFunction> for Component
impl From<EasingFunction> for Component
source§fn from(value: EasingFunction) -> Self
fn from(value: EasingFunction) -> Self
Converts to this type from the input type.
source§impl From<EffectiveBackground> for Component
impl From<EffectiveBackground> for Component
source§fn from(value: EffectiveBackground) -> Self
fn from(value: EffectiveBackground) -> Self
Converts to this type from the input type.
source§impl From<FamilyOwned> for Component
impl From<FamilyOwned> for Component
source§fn from(value: FamilyOwned) -> Self
fn from(value: FamilyOwned) -> Self
Converts to this type from the input type.
source§impl From<FocusableWidgets> for Component
impl From<FocusableWidgets> for Component
source§fn from(value: FocusableWidgets) -> Self
fn from(value: FocusableWidgets) -> Self
Converts to this type from the input type.
source§impl From<FontFamilyList> for Component
impl From<FontFamilyList> for Component
source§fn from(list: FontFamilyList) -> Self
fn from(list: FontFamilyList) -> Self
Converts to this type from the input type.
source§impl From<HorizontalAlign> for Component
impl From<HorizontalAlign> for Component
source§fn from(value: HorizontalAlign) -> Self
fn from(value: HorizontalAlign) -> Self
Converts to this type from the input type.
source§impl From<ListDelimiter> for Component
impl From<ListDelimiter> for Component
source§fn from(value: ListDelimiter) -> Self
fn from(value: ListDelimiter) -> Self
Converts to this type from the input type.
source§impl From<VerticalAlign> for Component
impl From<VerticalAlign> for Component
source§fn from(value: VerticalAlign) -> Self
fn from(value: VerticalAlign) -> Self
Converts to this type from the input type.
source§impl From<VisualOrder> for Component
impl From<VisualOrder> for Component
source§fn from(value: VisualOrder) -> Self
fn from(value: VisualOrder) -> Self
Converts to this type from the input type.
source§impl TryFrom<Component> for ContainerLevel
impl TryFrom<Component> for ContainerLevel
source§impl TryFrom<Component> for DimensionRange
impl TryFrom<Component> for DimensionRange
source§impl TryFrom<Component> for EasingFunction
impl TryFrom<Component> for EasingFunction
source§impl TryFrom<Component> for EffectiveBackground
impl TryFrom<Component> for EffectiveBackground
source§impl TryFrom<Component> for FamilyOwned
impl TryFrom<Component> for FamilyOwned
source§impl TryFrom<Component> for FocusableWidgets
impl TryFrom<Component> for FocusableWidgets
source§impl TryFrom<Component> for FontFamilyList
impl TryFrom<Component> for FontFamilyList
source§impl TryFrom<Component> for HorizontalAlign
impl TryFrom<Component> for HorizontalAlign
source§impl TryFrom<Component> for ListDelimiter
impl TryFrom<Component> for ListDelimiter
source§impl TryFrom<Component> for VerticalAlign
impl TryFrom<Component> for VerticalAlign
source§impl TryFrom<Component> for VisualOrder
impl TryFrom<Component> for VisualOrder
impl StructuralPartialEq for Component
Auto Trait Implementations§
impl Freeze for Component
impl !RefUnwindSafe for Component
impl Send for Component
impl Sync for Component
impl Unpin for Component
impl !UnwindSafe for Component
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Convert the source color to the destination color using the specified
method.
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Convert the source color to the destination color using the bradford
method by default.
§impl<T> AnyEq for T
impl<T> AnyEq for T
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Cast a collection of colors into a collection of arrays.
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Cast this collection of arrays into a collection of colors.
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
source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters
when converting.source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self
into C
, using the provided parameters.§impl<A> Cast for A
impl<A> Cast for A
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Cast a collection of colors into a collection of color components.
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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
.§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
.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
Performs a conversion from
angle
.source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
Converts
other
into Self
, while performing the appropriate scaling,
rounding and clamping.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
Performs a conversion into
T
.source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters
when converting.source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self
into C
, using the provided parameters.source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
source§fn into_color(self) -> U
fn into_color(self) -> U
Convert into T with values clamped to the color defined bounds Read more
source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Convert into T. The resulting color might be invalid in its color space Read more
source§impl<T> IntoComponentValue for T
impl<T> IntoComponentValue for T
source§fn into_component_value(self) -> Value<Component>
fn into_component_value(self) -> Value<Component>
Returns
self
stored in a component value.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>
Converts
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>
Converts
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 moresource§impl<T> IntoReadOnly<T> for T
impl<T> IntoReadOnly<T> for T
source§fn into_read_only(self) -> ReadOnly<T>
fn into_read_only(self) -> ReadOnly<T>
Returns
self
as a ReadOnly
.source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
Converts
self
into T
, while performing the appropriate scaling,
rounding and clamping.source§impl<T> IntoStoredComponent for Twhere
T: IntoComponentValue,
impl<T> IntoStoredComponent for Twhere
T: IntoComponentValue,
source§fn into_stored_component(self) -> StoredComponent
fn into_stored_component(self) -> StoredComponent
Returns this value as a stored component.
source§impl<T> IntoValue<T> for T
impl<T> IntoValue<T> for T
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Returns this type as a
Value
.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
The error for when
try_into_colors
fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Try to cast this collection of color components into a collection of
colors. Read more
source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
Convert into T, returning ok if the color is inside of its defined
range, otherwise an
OutOfBounds
error is returned which contains
the unclamped color. Read moresource§impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
source§fn uints_from(colors: C) -> U
fn uints_from(colors: C) -> U
Cast a collection of colors into a collection of unsigned integers.
source§impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
source§fn uints_into(self) -> C
fn uints_into(self) -> C
Cast this collection of unsigned integers into a collection of colors.