Enum style::color::color_function::ColorFunction
source · #[repr(u8)]pub enum ColorFunction<OriginColor> {
Rgb(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>),
Hsl(Optional<OriginColor>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>),
Hwb(Optional<OriginColor>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>),
Lab(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>),
Lch(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>),
Oklab(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>),
Oklch(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>),
Color(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorSpace),
}
Expand description
Represents a specified color function.
Variants§
Rgb(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>)
Hsl(Optional<OriginColor>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>)
Hwb(Optional<OriginColor>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>)
Lab(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>)
Lch(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>)
Oklab(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>)
Oklch(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrAngleComponent>, ColorComponent<NumberOrPercentageComponent>)
Color(Optional<OriginColor>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorComponent<NumberOrPercentageComponent>, ColorSpace)
Implementations§
source§impl ColorFunction<AbsoluteColor>
impl ColorFunction<AbsoluteColor>
sourcepub fn resolve_to_absolute(&self) -> Result<AbsoluteColor, ()>
pub fn resolve_to_absolute(&self) -> Result<AbsoluteColor, ()>
Try to resolve into a valid absolute color.
source§impl ColorFunction<Color>
impl ColorFunction<Color>
sourcepub fn has_origin_color(&self) -> bool
pub fn has_origin_color(&self) -> bool
Return true if the color funciton has an origin color specified.
sourcepub fn resolve_to_absolute(&self) -> Result<AbsoluteColor, ()>
pub fn resolve_to_absolute(&self) -> Result<AbsoluteColor, ()>
Try to resolve the color function to an AbsoluteColor
that does not
contain any variables (currentcolor, color components, etc.).
source§impl<Color> ColorFunction<Color>
impl<Color> ColorFunction<Color>
sourcepub fn map_origin_color<U>(
&self,
f: impl FnOnce(&Color) -> Option<U>,
) -> ColorFunction<U>
pub fn map_origin_color<U>( &self, f: impl FnOnce(&Color) -> Option<U>, ) -> ColorFunction<U>
Map the origin color to another type. Return None from f
if the conversion fails.
source§impl ColorFunction<Color>
impl ColorFunction<Color>
sourcepub fn resolve_to_absolute(
&self,
current_color: &AbsoluteColor,
) -> AbsoluteColor
pub fn resolve_to_absolute( &self, current_color: &AbsoluteColor, ) -> AbsoluteColor
Resolve a computed color function to an absolute computed color.
Trait Implementations§
source§impl<OriginColor: Clone> Clone for ColorFunction<OriginColor>
impl<OriginColor: Clone> Clone for ColorFunction<OriginColor>
source§fn clone(&self) -> ColorFunction<OriginColor>
fn clone(&self) -> ColorFunction<OriginColor>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<OriginColor: Debug> Debug for ColorFunction<OriginColor>
impl<OriginColor: Debug> Debug for ColorFunction<OriginColor>
source§impl<OriginColor> MallocSizeOf for ColorFunction<OriginColor>where
OriginColor: MallocSizeOf,
impl<OriginColor> MallocSizeOf for ColorFunction<OriginColor>where
OriginColor: MallocSizeOf,
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
source§impl<OriginColor: PartialEq> PartialEq for ColorFunction<OriginColor>
impl<OriginColor: PartialEq> PartialEq for ColorFunction<OriginColor>
source§fn eq(&self, other: &ColorFunction<OriginColor>) -> bool
fn eq(&self, other: &ColorFunction<OriginColor>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<OriginColor> ToAnimatedValue for ColorFunction<OriginColor>where
OriginColor: ToAnimatedValue,
impl<OriginColor> ToAnimatedValue for ColorFunction<OriginColor>where
OriginColor: ToAnimatedValue,
§type AnimatedValue = ColorFunction<<OriginColor as ToAnimatedValue>::AnimatedValue>
type AnimatedValue = ColorFunction<<OriginColor as ToAnimatedValue>::AnimatedValue>
The type of the animated value.
source§fn from_animated_value(from: Self::AnimatedValue) -> Self
fn from_animated_value(from: Self::AnimatedValue) -> Self
Converts back an animated value into a computed value.
source§fn to_animated_value(self, context: &Context<'_>) -> Self::AnimatedValue
fn to_animated_value(self, context: &Context<'_>) -> Self::AnimatedValue
Converts this value to an animated value.
source§impl<C: ToCss> ToCss for ColorFunction<C>
impl<C: ToCss> ToCss for ColorFunction<C>
source§impl<OriginColor> ToShmem for ColorFunction<OriginColor>where
OriginColor: ToShmem,
impl<OriginColor> ToShmem for ColorFunction<OriginColor>where
OriginColor: ToShmem,
impl<OriginColor> StructuralPartialEq for ColorFunction<OriginColor>
Auto Trait Implementations§
impl<OriginColor> Freeze for ColorFunction<OriginColor>where
OriginColor: Freeze,
impl<OriginColor> RefUnwindSafe for ColorFunction<OriginColor>where
OriginColor: RefUnwindSafe,
impl<OriginColor> Send for ColorFunction<OriginColor>where
OriginColor: Send,
impl<OriginColor> Sync for ColorFunction<OriginColor>where
OriginColor: Sync,
impl<OriginColor> Unpin for ColorFunction<OriginColor>where
OriginColor: Unpin,
impl<OriginColor> UnwindSafe for ColorFunction<OriginColor>where
OriginColor: 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
Mutably borrows from an owned value. Read more
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> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert