#[repr(u8)]pub enum ColorComponent<ValueType> {
None,
Value(ValueType),
ChannelKeyword(ChannelKeyword),
Calc(Box<CalcNode>),
AlphaOmitted,
}Expand description
A single color component.
Variants§
None
The “none” keyword.
Value(ValueType)
A absolute value.
ChannelKeyword(ChannelKeyword)
A channel keyword, e.g. r, l, alpha, etc.
Calc(Box<CalcNode>)
A calc() value.
AlphaOmitted
Used when alpha components are not specified.
Implementations§
Source§impl<ValueType> ColorComponent<ValueType>
impl<ValueType> ColorComponent<ValueType>
Source§impl<ValueType: ColorComponentType> ColorComponent<ValueType>
impl<ValueType: ColorComponentType> ColorComponent<ValueType>
Sourcepub fn parse<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>,
allow_none: bool,
allowed_channel_keywords: ChannelKeyword,
) -> Result<Self, ParseError<'i>>
pub fn parse<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, allow_none: bool, allowed_channel_keywords: ChannelKeyword, ) -> Result<Self, ParseError<'i>>
Parse a single ColorComponent.
Sourcepub fn to_computed_value(
&self,
context: Option<&Context<'_>>,
origin_color: Option<&AbsoluteColor>,
) -> Self
pub fn to_computed_value( &self, context: Option<&Context<'_>>, origin_color: Option<&AbsoluteColor>, ) -> Self
Compute the component’s value against context, substituting color
channel references with the matching channel of origin_color when it is
provided (and already converted into this function’s color space).
If no (absolute) origin color is available, channel references are kept intact, so the component can still be resolved later at use-value time.
Source§impl ColorComponent<NumberOrPercentageComponent>
impl ColorComponent<NumberOrPercentageComponent>
Sourcefn could_be_number(&self) -> bool
fn could_be_number(&self) -> bool
Return true if the value contained inside is/can resolve to a number. Also returns false if the node is invalid somehow.
Sourcefn could_be_percentage(&self) -> bool
fn could_be_percentage(&self) -> bool
Return true if the value contained inside is/can resolve to a percentage. Also returns false if the node is invalid somehow.
Trait Implementations§
Source§impl<ValueType: Clone> Clone for ColorComponent<ValueType>
impl<ValueType: Clone> Clone for ColorComponent<ValueType>
Source§fn clone(&self) -> ColorComponent<ValueType>
fn clone(&self) -> ColorComponent<ValueType>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<ValueType: Debug> Debug for ColorComponent<ValueType>
impl<ValueType: Debug> Debug for ColorComponent<ValueType>
Source§impl From<ColorComponent<f32>> for ComponentDetails
impl From<ColorComponent<f32>> for ComponentDetails
Source§fn from(value: ColorComponent<f32>) -> Self
fn from(value: ColorComponent<f32>) -> Self
Source§impl<ValueType> MallocSizeOf for ColorComponent<ValueType>where
ValueType: MallocSizeOf,
impl<ValueType> MallocSizeOf for ColorComponent<ValueType>where
ValueType: MallocSizeOf,
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Source§impl<ValueType: PartialEq> PartialEq for ColorComponent<ValueType>
impl<ValueType: PartialEq> PartialEq for ColorComponent<ValueType>
Source§impl<ValueType> ToAnimatedValue for ColorComponent<ValueType>
impl<ValueType> ToAnimatedValue for ColorComponent<ValueType>
Source§type AnimatedValue = ColorComponent<ValueType>
type AnimatedValue = ColorComponent<ValueType>
Source§fn to_animated_value(self, _context: &Context<'_>) -> Self::AnimatedValue
fn to_animated_value(self, _context: &Context<'_>) -> Self::AnimatedValue
Source§fn from_animated_value(animated: Self::AnimatedValue) -> Self
fn from_animated_value(animated: Self::AnimatedValue) -> Self
Source§impl<ValueType: ToCss> ToCss for ColorComponent<ValueType>
impl<ValueType: ToCss> ToCss for ColorComponent<ValueType>
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<ValueType> ToShmem for ColorComponent<ValueType>where
ValueType: ToShmem,
impl<ValueType> ToShmem for ColorComponent<ValueType>where
ValueType: ToShmem,
impl<ValueType> StructuralPartialEq for ColorComponent<ValueType>
Auto Trait Implementations§
impl<ValueType> Freeze for ColorComponent<ValueType>where
ValueType: Freeze,
impl<ValueType> RefUnwindSafe for ColorComponent<ValueType>where
ValueType: RefUnwindSafe,
impl<ValueType> Send for ColorComponent<ValueType>where
ValueType: Send,
impl<ValueType> Sync for ColorComponent<ValueType>where
ValueType: Sync,
impl<ValueType> Unpin for ColorComponent<ValueType>where
ValueType: Unpin,
impl<ValueType> UnsafeUnpin for ColorComponent<ValueType>where
ValueType: UnsafeUnpin,
impl<ValueType> UnwindSafe for ColorComponent<ValueType>where
ValueType: 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