pub enum ProcessColor {
Luma(Alpha<Luma, f32>),
Oklab(Alpha<Oklab, f32>),
Oklch(Alpha<Oklch, f32>),
Rgb(Alpha<Rgb, f32>),
LinearRgb(Alpha<Rgb<Linear<Srgb>>, f32>),
Cmyk(Cmyk),
Hsl(Alpha<Hsl, f32>),
Hsv(Alpha<Hsv, f32>),
}Expand description
Colors with a well-defined color space.
Variants§
Luma(Alpha<Luma, f32>)
A 32-bit luma color.
Oklab(Alpha<Oklab, f32>)
A 32-bit L*a*b* color in the Oklab color space.
Oklch(Alpha<Oklch, f32>)
A 32-bit LCh color in the Oklab color space.
Rgb(Alpha<Rgb, f32>)
A 32-bit RGB color.
LinearRgb(Alpha<Rgb<Linear<Srgb>>, f32>)
A 32-bit linear RGB color.
Cmyk(Cmyk)
A 32-bit CMYK color.
Hsl(Alpha<Hsl, f32>)
A 32-bit HSL color.
Hsv(Alpha<Hsv, f32>)
A 32-bit HSV color.
Implementations§
Source§impl ProcessColor
impl ProcessColor
Sourcepub fn components(self, alpha: bool) -> Array
pub fn components(self, alpha: bool) -> Array
Extracts the components of this color.
Sourcepub fn space(self) -> ProcessColorSpace
pub fn space(self) -> ProcessColorSpace
Returns the constructor function for this color’s space.
Sourcepub fn lighten(self, factor: Ratio) -> ProcessColor
pub fn lighten(self, factor: Ratio) -> ProcessColor
Lightens a color by a given factor.
Sourcepub fn darken(self, factor: Ratio) -> ProcessColor
pub fn darken(self, factor: Ratio) -> ProcessColor
Darkens a color by a given factor.
Sourcepub fn saturate(
self,
span: Span,
factor: Ratio,
) -> Result<ProcessColor, EcoVec<SourceDiagnostic>>
pub fn saturate( self, span: Span, factor: Ratio, ) -> Result<ProcessColor, EcoVec<SourceDiagnostic>>
Increases the saturation of a color by a given factor.
Sourcepub fn desaturate(
self,
span: Span,
factor: Ratio,
) -> Result<ProcessColor, EcoVec<SourceDiagnostic>>
pub fn desaturate( self, span: Span, factor: Ratio, ) -> Result<ProcessColor, EcoVec<SourceDiagnostic>>
Decreases the saturation of a color by a given factor.
Sourcepub fn negate(self, space: ProcessColorSpace) -> ProcessColor
pub fn negate(self, space: ProcessColorSpace) -> ProcessColor
Produces the complementary color using a provided color space.
Sourcepub fn from_u8(r: u8, g: u8, b: u8, a: u8) -> ProcessColor
pub fn from_u8(r: u8, g: u8, b: u8, a: u8) -> ProcessColor
Construct a new RGBA color from 8-bit values.
Sourcepub fn from_u32(color: u32) -> ProcessColor
pub fn from_u32(color: u32) -> ProcessColor
Converts a 32-bit integer to an RGBA color.
Sourcepub fn with_alpha(self, alpha: f32) -> ProcessColor
pub fn with_alpha(self, alpha: f32) -> ProcessColor
Sets the alpha channel of the color, if it has one.
Sourcepub fn to_vec4_u8(&self) -> [u8; 4]
pub fn to_vec4_u8(&self) -> [u8; 4]
Converts the color to a vec of four u8s.
pub fn to_space(&self, space: ProcessColorSpace) -> ProcessColor
pub fn to_luma(self) -> Alpha<Luma, f32>
pub fn to_oklab(self) -> Alpha<Oklab, f32>
pub fn to_oklch(self) -> Alpha<Oklch, f32>
pub fn to_rgb(self) -> Alpha<Rgb, f32>
pub fn to_linear_rgb(self) -> Alpha<Rgb<Linear<Srgb>>, f32>
pub fn to_cmyk(self) -> Cmyk
pub fn to_hsl(self) -> Alpha<Hsl, f32>
pub fn to_hsv(self) -> Alpha<Hsv, f32>
Trait Implementations§
Source§impl Clone for ProcessColor
impl Clone for ProcessColor
Source§fn clone(&self) -> ProcessColor
fn clone(&self) -> ProcessColor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ProcessColor
Source§impl Debug for ProcessColor
impl Debug for ProcessColor
impl Eq for ProcessColor
Source§impl From<Cmyk> for ProcessColor
impl From<Cmyk> for ProcessColor
Source§fn from(c: Cmyk) -> ProcessColor
fn from(c: Cmyk) -> ProcessColor
Source§impl FromStr for ProcessColor
impl FromStr for ProcessColor
Source§fn from_str(
hex_str: &str,
) -> Result<ProcessColor, <ProcessColor as FromStr>::Err>
fn from_str( hex_str: &str, ) -> Result<ProcessColor, <ProcessColor as FromStr>::Err>
Constructs a new color from hex strings like the following:
#aef(shorthand, with leading hash),7a03c2(without alpha),abcdefff(with alpha).
The hash is optional and both lower and upper case are fine.
Source§impl FromValue for ProcessColor
impl FromValue for ProcessColor
Source§fn from_value(value: Value) -> Result<ProcessColor, HintedString>
fn from_value(value: Value) -> Result<ProcessColor, HintedString>
Self.Source§impl Hash for ProcessColor
impl Hash for ProcessColor
Source§impl IntoValue for ProcessColor
impl IntoValue for ProcessColor
Source§fn into_value(self) -> Value
fn into_value(self) -> Value
Source§impl PartialEq for ProcessColor
impl PartialEq for ProcessColor
Source§fn eq(&self, other: &ProcessColor) -> bool
fn eq(&self, other: &ProcessColor) -> bool
self and other values to be equal, and is used by ==.Source§impl Reflect for ProcessColor
impl Reflect for ProcessColor
Auto Trait Implementations§
impl Freeze for ProcessColor
impl RefUnwindSafe for ProcessColor
impl Send for ProcessColor
impl Sync for ProcessColor
impl Unpin for ProcessColor
impl UnsafeUnpin for ProcessColor
impl UnwindSafe for ProcessColor
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>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
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
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
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<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
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
self into C, using the provided parameters.Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
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
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
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
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
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> FromValue<Spanned<Value>> for Twhere
T: FromValue,
impl<T> FromValue<Spanned<Value>> for Twhere
T: FromValue,
Source§fn from_value(value: Spanned<Value>) -> Result<T, HintedString>
fn from_value(value: Spanned<Value>) -> Result<T, HintedString>
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
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
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
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
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
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 moreSource§impl<T> IntoResult for Twhere
T: IntoValue,
impl<T> IntoResult for Twhere
T: IntoValue,
Source§fn into_result(self, _: Span) -> Result<Value, EcoVec<SourceDiagnostic>>
fn into_result(self, _: Span) -> Result<Value, EcoVec<SourceDiagnostic>>
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
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
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>
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>>
OutOfBounds error is returned which contains
the unclamped color. Read more