#[repr(C)]pub struct Lab<Wp = D65, T = f32> {
    pub l: T,
    pub a: T,
    pub b: T,
    pub white_point: PhantomData<Wp>,
}Expand description
The CIE L*a*b* (CIELAB) color space.
CIE L*a*b* is a device independent color space which includes all
perceivable colors. It’s sometimes used to convert between other color
spaces, because of its ability to represent all of their colors, and
sometimes in color manipulation, because of its perceptual uniformity. This
means that the perceptual difference between two colors is equal to their
numerical difference. It was, however, never designed for the perceptual
qualities required for gamut mapping.
For perceptually uniform color manipulation the newer color spaces based on
Oklab are preferable:
Oklch, Okhsv, Okhsl,
Okhwb (Note that the latter three are tied to the sRGB gamut
and reference white).
The parameters of L*a*b* are quite different, compared to many other color spaces, so manipulating them manually may be unintuitive.
Fields§
§l: TL* is the lightness of the color. 0.0 gives absolute black and 100 give the brightest white.
a: Ta* goes from red at -128 to green at 127.
b: Tb* goes from yellow at -128 to blue at 127.
white_point: PhantomData<Wp>The white point associated with the color’s illuminant and observer. D65 for 2 degree observer is used by default.
Implementations§
Source§impl<Wp, T> Lab<Wp, T>
 
impl<Wp, T> Lab<Wp, T>
Sourcepub fn into_components(self) -> (T, T, T)
 
pub fn into_components(self) -> (T, T, T)
Convert to a (L\*, a\*, b\*) tuple.
Sourcepub fn from_components(_: (T, T, T)) -> Lab<Wp, T>
 
pub fn from_components(_: (T, T, T)) -> Lab<Wp, T>
Convert from a (L\*, a\*, b\*) tuple.
Source§impl<Wp, C> Lab<Wp, C>
 
impl<Wp, C> Lab<Wp, C>
Sourcepub fn iter<'a>(&'a self) -> <&'a Lab<Wp, C> as IntoIterator>::IntoIterwhere
    &'a Lab<Wp, C>: IntoIterator,
 
pub fn iter<'a>(&'a self) -> <&'a Lab<Wp, C> as IntoIterator>::IntoIterwhere
    &'a Lab<Wp, C>: IntoIterator,
Return an iterator over the colors in the wrapped collections.
Sourcepub fn iter_mut<'a>(
    &'a mut self,
) -> <&'a mut Lab<Wp, C> as IntoIterator>::IntoIterwhere
    &'a mut Lab<Wp, C>: IntoIterator,
 
pub fn iter_mut<'a>(
    &'a mut self,
) -> <&'a mut Lab<Wp, C> as IntoIterator>::IntoIterwhere
    &'a mut Lab<Wp, C>: IntoIterator,
Return an iterator that allows modifying the colors in the wrapped collections.
Sourcepub fn get<'a, I, T>(
    &'a self,
    index: I,
) -> Option<Lab<Wp, &'a <I as SliceIndex<[T]>>::Output>>
 
pub fn get<'a, I, T>( &'a self, index: I, ) -> Option<Lab<Wp, &'a <I as SliceIndex<[T]>>::Output>>
Get a color, or slice of colors, with references to the components at index. See slice::get for details.
Sourcepub fn get_mut<'a, I, T>(
    &'a mut self,
    index: I,
) -> Option<Lab<Wp, &'a mut <I as SliceIndex<[T]>>::Output>>
 
pub fn get_mut<'a, I, T>( &'a mut self, index: I, ) -> Option<Lab<Wp, &'a mut <I as SliceIndex<[T]>>::Output>>
Get a color, or slice of colors, that allows modifying the components at index. See slice::get_mut for details.
Source§impl<Wp, T> Lab<Wp, Vec<T>>
 
impl<Wp, T> Lab<Wp, Vec<T>>
Sourcepub fn with_capacity(capacity: usize) -> Lab<Wp, Vec<T>>
 
pub fn with_capacity(capacity: usize) -> Lab<Wp, Vec<T>>
Create a struct of vectors with a minimum capacity. See Vec::with_capacity for details.
Sourcepub fn push(&mut self, value: Lab<Wp, T>)
 
pub fn push(&mut self, value: Lab<Wp, T>)
Push an additional color’s components onto the component vectors. See Vec::push for details.
Sourcepub fn pop(&mut self) -> Option<Lab<Wp, T>>
 
pub fn pop(&mut self) -> Option<Lab<Wp, T>>
Pop a color’s components from the component vectors. See Vec::pop for details.
Sourcepub fn clear(&mut self)
 
pub fn clear(&mut self)
Clear the component vectors. See Vec::clear for details.
Trait Implementations§
Source§impl<Wp, T> AbsDiffEq for Lab<Wp, T>
 
impl<Wp, T> AbsDiffEq for Lab<Wp, T>
Source§fn default_epsilon() -> <Lab<Wp, T> as AbsDiffEq>::Epsilon
 
fn default_epsilon() -> <Lab<Wp, T> as AbsDiffEq>::Epsilon
Source§fn abs_diff_eq(
    &self,
    other: &Lab<Wp, T>,
    epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
 
fn abs_diff_eq( &self, other: &Lab<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
Source§fn abs_diff_ne(
    &self,
    other: &Lab<Wp, T>,
    epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
 
fn abs_diff_ne( &self, other: &Lab<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
AbsDiffEq::abs_diff_eq.Source§impl<Wp, T> AddAssign<T> for Lab<Wp, T>
 
impl<Wp, T> AddAssign<T> for Lab<Wp, T>
Source§fn add_assign(&mut self, c: T)
 
fn add_assign(&mut self, c: T)
+= operation. Read moreSource§impl<Wp, T> AddAssign for Lab<Wp, T>where
    T: AddAssign,
 
impl<Wp, T> AddAssign for Lab<Wp, T>where
    T: AddAssign,
Source§fn add_assign(&mut self, other: Lab<Wp, T>)
 
fn add_assign(&mut self, other: Lab<Wp, T>)
+= operation. Read moreSource§impl<Wp, T> Ciede2000 for Lab<Wp, T>where
    T: Real + RealAngle + One + Zero + Powi + Exp + Trigonometry + Abs + Sqrt + Arithmetics + PartialCmp + Hypot + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T> + BitAnd<Output = <T as HasBoolMask>::Mask> + BitOr<Output = <T as HasBoolMask>::Mask>,
 
impl<Wp, T> Ciede2000 for Lab<Wp, T>where
    T: Real + RealAngle + One + Zero + Powi + Exp + Trigonometry + Abs + Sqrt + Arithmetics + PartialCmp + Hypot + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T> + BitAnd<Output = <T as HasBoolMask>::Mask> + BitOr<Output = <T as HasBoolMask>::Mask>,
Source§impl<Wp, T> ClampAssign for Lab<Wp, T>
 
impl<Wp, T> ClampAssign for Lab<Wp, T>
Source§fn clamp_assign(&mut self)
 
fn clamp_assign(&mut self)
Source§impl<Wp, T> ColorDifference for Lab<Wp, T>where
    T: Real + RealAngle + One + Zero + Powi + Exp + Trigonometry + Abs + Sqrt + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T> + BitAnd<Output = <T as HasBoolMask>::Mask> + BitOr<Output = <T as HasBoolMask>::Mask>,
    Lab<Wp, T>: Into<LabColorDiff<T>>,
 
impl<Wp, T> ColorDifference for Lab<Wp, T>where
    T: Real + RealAngle + One + Zero + Powi + Exp + Trigonometry + Abs + Sqrt + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T> + BitAnd<Output = <T as HasBoolMask>::Mask> + BitOr<Output = <T as HasBoolMask>::Mask>,
    Lab<Wp, T>: Into<LabColorDiff<T>>,
Source§type Scalar = T
 
type Scalar = T
palette::color_difference::Ciede2000Source§fn get_color_difference(
    self,
    other: Lab<Wp, T>,
) -> <Lab<Wp, T> as ColorDifference>::Scalar
 
fn get_color_difference( self, other: Lab<Wp, T>, ) -> <Lab<Wp, T> as ColorDifference>::Scalar
palette::color_difference::Ciede2000Source§impl<Wp, T> Complementary for Lab<Wp, T>where
    T: Neg<Output = T>,
 
impl<Wp, T> Complementary for Lab<Wp, T>where
    T: Neg<Output = T>,
Source§fn complementary(self) -> Lab<Wp, T>
 
fn complementary(self) -> Lab<Wp, T>
self. Read moreSource§impl<'de, Wp, T> Deserialize<'de> for Lab<Wp, T>where
    T: Deserialize<'de>,
 
impl<'de, Wp, T> Deserialize<'de> for Lab<Wp, T>where
    T: Deserialize<'de>,
Source§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<Lab<Wp, T>, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<Lab<Wp, T>, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Source§impl<Wp, T> DivAssign<T> for Lab<Wp, T>
 
impl<Wp, T> DivAssign<T> for Lab<Wp, T>
Source§fn div_assign(&mut self, c: T)
 
fn div_assign(&mut self, c: T)
/= operation. Read moreSource§impl<Wp, T> DivAssign for Lab<Wp, T>where
    T: DivAssign,
 
impl<Wp, T> DivAssign for Lab<Wp, T>where
    T: DivAssign,
Source§fn div_assign(&mut self, other: Lab<Wp, T>)
 
fn div_assign(&mut self, other: Lab<Wp, T>)
/= operation. Read moreSource§impl<Wp, T> EuclideanDistance for Lab<Wp, T>
 
impl<Wp, T> EuclideanDistance for Lab<Wp, T>
Source§fn distance_squared(
    self,
    other: Lab<Wp, T>,
) -> <Lab<Wp, T> as EuclideanDistance>::Scalar
 
fn distance_squared( self, other: Lab<Wp, T>, ) -> <Lab<Wp, T> as EuclideanDistance>::Scalar
Source§impl<Wp, T, C> Extend<Lab<Wp, T>> for Lab<Wp, C>where
    C: Extend<T>,
 
impl<Wp, T, C> Extend<Lab<Wp, T>> for Lab<Wp, C>where
    C: Extend<T>,
Source§fn extend<I>(&mut self, iter: I)where
    I: IntoIterator<Item = Lab<Wp, T>>,
 
fn extend<I>(&mut self, iter: I)where
    I: IntoIterator<Item = Lab<Wp, T>>,
Source§fn extend_one(&mut self, item: A)
 
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl<Wp, T> From<PreAlpha<Lab<Wp, T>>> for Lab<Wp, T>where
    Lab<Wp, T>: Premultiply<Scalar = T>,
 
impl<Wp, T> From<PreAlpha<Lab<Wp, T>>> for Lab<Wp, T>where
    Lab<Wp, T>: Premultiply<Scalar = T>,
Source§impl<Wp, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Lab<Wp, T>where
    _C: IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Lab<Wp, T>where
    _C: IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Hsluv<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hsluv<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Hsluv<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hsluv<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
    S: RgbStandard,
    Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
 
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
    S: RgbStandard,
    Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
Source§fn from_color_unclamped(
    color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
 
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
Source§impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
    S: RgbStandard,
    Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
 
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
    S: RgbStandard,
    Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
Source§fn from_color_unclamped(
    color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
 
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<S, T>
Source§impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
    S: RgbStandard,
    Hsv<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
 
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
    S: RgbStandard,
    Hsv<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
Source§fn from_color_unclamped(
    color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
 
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
Source§impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T>where
    S: RgbStandard,
    Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Rgb<S, T>>,
 
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T>where
    S: RgbStandard,
    Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Rgb<S, T>>,
Source§fn from_color_unclamped(
    color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Rgb<S, T>
 
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Rgb<S, T>
Source§impl<S, T> FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
    S: LumaStandard,
    Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Luma<S, T>>,
 
impl<S, T> FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
    S: LumaStandard,
    Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Luma<S, T>>,
Source§fn from_color_unclamped(
    color: Lab<<S as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
 
fn from_color_unclamped( color: Lab<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
Source§impl<T> FromColorUnclamped<Lab<D65, T>> for Oklab<T>where
    D65: WhitePoint<T>,
    Xyz<D65, T>: FromColorUnclamped<Lab<D65, T>> + IntoColorUnclamped<Oklab<T>>,
 
impl<T> FromColorUnclamped<Lab<D65, T>> for Oklab<T>where
    D65: WhitePoint<T>,
    Xyz<D65, T>: FromColorUnclamped<Lab<D65, T>> + IntoColorUnclamped<Oklab<T>>,
Source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Hsluv<Wp, T>where
    Wp: WhitePoint<T>,
    Lchuv<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Hsluv<Wp, T>where
    Wp: WhitePoint<T>,
    Lchuv<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Lab<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Lab<Wp, T>
Source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Lch<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Lch<Wp, T>
Source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Lchuv<Wp, T>where
    Wp: WhitePoint<T>,
    Luv<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Lchuv<Wp, T>where
    Wp: WhitePoint<T>,
    Luv<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Luv<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Luv<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Luv<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Luv<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Xyz<Wp, T>where
    T: Real + Recip + Powi + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
    Wp: WhitePoint<T>,
 
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Xyz<Wp, T>where
    T: Real + Recip + Powi + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
    Wp: WhitePoint<T>,
Source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Yxy<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Yxy<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Lab<Wp, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Lch<Wp, T>> for Lab<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Lch<Wp, T>> for Lab<Wp, T>
Source§impl<Wp, T> FromColorUnclamped<Lchuv<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Lchuv<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Lchuv<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Lchuv<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lab<Wp, T>where
    _S: LumaStandard<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lab<Wp, T>where
    _S: LumaStandard<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Luv<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Luv<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Luv<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Luv<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Okhsl<T>> for Lab<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Okhsl<T>> for Lab<Wp, T>
Source§impl<Wp, T> FromColorUnclamped<Okhsv<T>> for Lab<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Okhsv<T>> for Lab<Wp, T>
Source§impl<Wp, T> FromColorUnclamped<Okhwb<T>> for Lab<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Okhwb<T>> for Lab<Wp, T>
Source§impl<Wp, T> FromColorUnclamped<Oklab<T>> for Lab<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Oklab<T>> for Lab<Wp, T>
Source§impl<Wp, T> FromColorUnclamped<Oklch<T>> for Lab<Wp, T>
 
impl<Wp, T> FromColorUnclamped<Oklch<T>> for Lab<Wp, T>
Source§impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lab<Wp, T>where
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    T: Real + Powi + Cbrt + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
 
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    T: Real + Powi + Cbrt + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
Source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Yxy<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
 
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lab<Wp, T>where
    Wp: WhitePoint<T>,
    Xyz<Wp, T>: FromColorUnclamped<Yxy<Wp, T>> + IntoColorUnclamped<Lab<Wp, T>>,
Source§impl<Wp, T, C> FromIterator<Lab<Wp, T>> for Lab<Wp, C>
 
impl<Wp, T, C> FromIterator<Lab<Wp, T>> for Lab<Wp, C>
Source§impl<Wp, T> HasBoolMask for Lab<Wp, T>where
    T: HasBoolMask,
 
impl<Wp, T> HasBoolMask for Lab<Wp, T>where
    T: HasBoolMask,
Source§type Mask = <T as HasBoolMask>::Mask
 
type Mask = <T as HasBoolMask>::Mask
Self values.Source§impl<Wp, T> ImprovedDeltaE for Lab<Wp, T>
 
impl<Wp, T> ImprovedDeltaE for Lab<Wp, T>
Source§impl<'a, 'b, Wp, T> IntoIterator for &'a Lab<Wp, &'b [T]>
 
impl<'a, 'b, Wp, T> IntoIterator for &'a Lab<Wp, &'b [T]>
Source§impl<'a, 'b, Wp, T> IntoIterator for &'a Lab<Wp, &'b mut [T]>
 
impl<'a, 'b, Wp, T> IntoIterator for &'a Lab<Wp, &'b mut [T]>
Source§impl<'a, Wp, T> IntoIterator for &'a Lab<Wp, Vec<T>>
 
impl<'a, Wp, T> IntoIterator for &'a Lab<Wp, Vec<T>>
Source§impl<'a, 'b, Wp, T> IntoIterator for &'a mut Lab<Wp, &'b mut [T]>
 
impl<'a, 'b, Wp, T> IntoIterator for &'a mut Lab<Wp, &'b mut [T]>
Source§impl<'a, Wp, T> IntoIterator for &'a mut Lab<Wp, Vec<T>>
 
impl<'a, Wp, T> IntoIterator for &'a mut Lab<Wp, Vec<T>>
Source§impl<'a, Wp, T> IntoIterator for Lab<Wp, &'a [T]>
 
impl<'a, Wp, T> IntoIterator for Lab<Wp, &'a [T]>
Source§impl<'a, Wp, T> IntoIterator for Lab<Wp, &'a mut [T]>
 
impl<'a, Wp, T> IntoIterator for Lab<Wp, &'a mut [T]>
Source§impl<Wp, T> IntoIterator for Lab<Wp, Vec<T>>
 
impl<Wp, T> IntoIterator for Lab<Wp, Vec<T>>
Source§impl<Wp, T> IsWithinBounds for Lab<Wp, T>where
    T: PartialCmp + Real + Zero,
    <T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
 
impl<Wp, T> IsWithinBounds for Lab<Wp, T>where
    T: PartialCmp + Real + Zero,
    <T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
Source§fn is_within_bounds(&self) -> <T as HasBoolMask>::Mask
 
fn is_within_bounds(&self) -> <T as HasBoolMask>::Mask
Source§impl<Wp, T> Lighten for Lab<Wp, T>where
    T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
 
impl<Wp, T> Lighten for Lab<Wp, T>where
    T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
Source§impl<Wp, T> LightenAssign for Lab<Wp, T>where
    T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
 
impl<Wp, T> LightenAssign for Lab<Wp, T>where
    T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T>,
Source§fn lighten_assign(&mut self, factor: T)
 
fn lighten_assign(&mut self, factor: T)
Source§fn lighten_fixed_assign(&mut self, amount: T)
 
fn lighten_fixed_assign(&mut self, amount: T)
Source§impl<Wp, T> MulAssign<T> for Lab<Wp, T>
 
impl<Wp, T> MulAssign<T> for Lab<Wp, T>
Source§fn mul_assign(&mut self, c: T)
 
fn mul_assign(&mut self, c: T)
*= operation. Read moreSource§impl<Wp, T> MulAssign for Lab<Wp, T>where
    T: MulAssign,
 
impl<Wp, T> MulAssign for Lab<Wp, T>where
    T: MulAssign,
Source§fn mul_assign(&mut self, other: Lab<Wp, T>)
 
fn mul_assign(&mut self, other: Lab<Wp, T>)
*= operation. Read moreSource§impl<Wp, T> Premultiply for Lab<Wp, T>where
    T: Real + Stimulus + Zero + IsValidDivisor + Mul<Output = T> + Div<Output = T> + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T> + Clone,
 
impl<Wp, T> Premultiply for Lab<Wp, T>where
    T: Real + Stimulus + Zero + IsValidDivisor + Mul<Output = T> + Div<Output = T> + Clone,
    <T as HasBoolMask>::Mask: LazySelect<T> + Clone,
Source§impl<Wp, T> RelativeContrast for Lab<Wp, T>where
    T: Real + Arithmetics + PartialCmp,
    <T as HasBoolMask>::Mask: LazySelect<T>,
    Xyz<Wp, T>: FromColor<Lab<Wp, T>>,
 
impl<Wp, T> RelativeContrast for Lab<Wp, T>where
    T: Real + Arithmetics + PartialCmp,
    <T as HasBoolMask>::Mask: LazySelect<T>,
    Xyz<Wp, T>: FromColor<Lab<Wp, T>>,
Source§type Scalar = T
 
type Scalar = T
palette::color_difference::Wcag21RelativeContrastSource§fn get_contrast_ratio(self, other: Lab<Wp, T>) -> T
 
fn get_contrast_ratio(self, other: Lab<Wp, T>) -> T
palette::color_difference::Wcag21RelativeContrastSource§fn has_min_contrast_text(
    self,
    other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
 
fn has_min_contrast_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_min_contrast_large_text(
    self,
    other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
 
fn has_min_contrast_large_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_enhanced_contrast_text(
    self,
    other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
 
fn has_enhanced_contrast_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_enhanced_contrast_large_text(
    self,
    other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
 
fn has_enhanced_contrast_large_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_min_contrast_graphics(
    self,
    other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
 
fn has_min_contrast_graphics( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§impl<Wp, T> RelativeEq for Lab<Wp, T>
 
impl<Wp, T> RelativeEq for Lab<Wp, T>
Source§fn default_max_relative() -> <T as AbsDiffEq>::Epsilon
 
fn default_max_relative() -> <T as AbsDiffEq>::Epsilon
Source§fn relative_eq(
    &self,
    other: &Lab<Wp, T>,
    epsilon: <T as AbsDiffEq>::Epsilon,
    max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
 
fn relative_eq( &self, other: &Lab<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
Source§fn relative_ne(
    &self,
    other: &Lab<Wp, T>,
    epsilon: <T as AbsDiffEq>::Epsilon,
    max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
 
fn relative_ne( &self, other: &Lab<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
RelativeEq::relative_eq.Source§impl<Wp, T> SaturatingAdd<T> for Lab<Wp, T>where
    T: SaturatingAdd<Output = T> + Clone,
 
impl<Wp, T> SaturatingAdd<T> for Lab<Wp, T>where
    T: SaturatingAdd<Output = T> + Clone,
Source§fn saturating_add(self, c: T) -> <Lab<Wp, T> as SaturatingAdd<T>>::Output
 
fn saturating_add(self, c: T) -> <Lab<Wp, T> as SaturatingAdd<T>>::Output
self and other, but saturates instead of overflowing.Source§impl<Wp, T> SaturatingAdd for Lab<Wp, T>where
    T: SaturatingAdd<Output = T>,
 
impl<Wp, T> SaturatingAdd for Lab<Wp, T>where
    T: SaturatingAdd<Output = T>,
Source§impl<Wp, T> SaturatingSub<T> for Lab<Wp, T>where
    T: SaturatingSub<Output = T> + Clone,
 
impl<Wp, T> SaturatingSub<T> for Lab<Wp, T>where
    T: SaturatingSub<Output = T> + Clone,
Source§fn saturating_sub(self, c: T) -> <Lab<Wp, T> as SaturatingSub<T>>::Output
 
fn saturating_sub(self, c: T) -> <Lab<Wp, T> as SaturatingSub<T>>::Output
self and other, but saturates instead of overflowing.Source§impl<Wp, T> SaturatingSub for Lab<Wp, T>where
    T: SaturatingSub<Output = T>,
 
impl<Wp, T> SaturatingSub for Lab<Wp, T>where
    T: SaturatingSub<Output = T>,
Source§impl<Wp, T> Serialize for Lab<Wp, T>where
    T: Serialize,
 
impl<Wp, T> Serialize for Lab<Wp, T>where
    T: Serialize,
Source§fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
 
fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
Source§impl<Wp, T> SubAssign<T> for Lab<Wp, T>
 
impl<Wp, T> SubAssign<T> for Lab<Wp, T>
Source§fn sub_assign(&mut self, c: T)
 
fn sub_assign(&mut self, c: T)
-= operation. Read moreSource§impl<Wp, T> SubAssign for Lab<Wp, T>where
    T: SubAssign,
 
impl<Wp, T> SubAssign for Lab<Wp, T>where
    T: SubAssign,
Source§fn sub_assign(&mut self, other: Lab<Wp, T>)
 
fn sub_assign(&mut self, other: Lab<Wp, T>)
-= operation. Read moreSource§impl<Wp, T> UlpsEq for Lab<Wp, T>
 
impl<Wp, T> UlpsEq for Lab<Wp, T>
Source§fn default_max_ulps() -> u32
 
fn default_max_ulps() -> u32
Source§impl<Wp, T, _A> WithAlpha<_A> for Lab<Wp, T>where
    _A: Stimulus,
 
impl<Wp, T, _A> WithAlpha<_A> for Lab<Wp, T>where
    _A: Stimulus,
Source§fn with_alpha(self, alpha: _A) -> <Lab<Wp, T> as WithAlpha<_A>>::WithAlpha
 
fn with_alpha(self, alpha: _A) -> <Lab<Wp, T> as WithAlpha<_A>>::WithAlpha
Self already has a transparency, it is
overwritten. Read moreSource§fn without_alpha(self) -> <Lab<Wp, T> as WithAlpha<_A>>::Color
 
fn without_alpha(self) -> <Lab<Wp, T> as WithAlpha<_A>>::Color
Self::Color has
an internal transparency field, that field will be set to
A::max_intensity() to make it opaque. Read moreSource§fn split(self) -> (<Lab<Wp, T> as WithAlpha<_A>>::Color, _A)
 
fn split(self) -> (<Lab<Wp, T> as WithAlpha<_A>>::Color, _A)
impl<Wp, T> Copy for Lab<Wp, T>where
    T: Copy,
impl<Wp, T> Eq for Lab<Wp, T>where
    T: Eq,
Auto Trait Implementations§
impl<Wp, T> Freeze for Lab<Wp, T>where
    T: Freeze,
impl<Wp, T> RefUnwindSafe for Lab<Wp, T>where
    T: RefUnwindSafe,
    Wp: RefUnwindSafe,
impl<Wp, T> Send for Lab<Wp, T>
impl<Wp, T> Sync for Lab<Wp, T>
impl<Wp, T> Unpin for Lab<Wp, T>
impl<Wp, T> UnwindSafe for Lab<Wp, T>where
    T: UnwindSafe,
    Wp: UnwindSafe,
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for Dwhere
    T: Real + Zero + Arithmetics + Clone,
    Swp: WhitePoint<T>,
    Dwp: WhitePoint<T>,
    S: IntoColorUnclamped<Xyz<Swp, T>>,
    D: FromColorUnclamped<Xyz<Dwp, T>>,
 
impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for Dwhere
    T: Real + Zero + Arithmetics + Clone,
    Swp: WhitePoint<T>,
    Dwp: WhitePoint<T>,
    S: IntoColorUnclamped<Xyz<Swp, T>>,
    D: FromColorUnclamped<Xyz<Dwp, T>>,
Source§fn adapt_from_using<M>(color: S, method: M) -> Dwhere
    M: TransformMatrix<T>,
 
fn adapt_from_using<M>(color: S, method: M) -> Dwhere
    M: TransformMatrix<T>,
Source§fn adapt_from(color: S) -> Self
 
fn adapt_from(color: S) -> Self
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, Res> Apply<Res> for Twhere
    T: ?Sized,
 
impl<T, Res> Apply<Res> for Twhere
    T: ?Sized,
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<C> BlendWith for C
 
impl<C> BlendWith for C
Source§fn blend_with<F>(self, other: C, blend_function: F) -> C
 
fn blend_with<F>(self, other: C, blend_function: F) -> C
destination, using
blend_function. Anything that implements BlendFunction is
acceptable, including functions and closures. Read moreSource§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> 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<C> Compose for C
 
impl<C> Compose for C
Source§fn over(self, other: C) -> C
 
fn over(self, other: C) -> C
self over other. This is the good old common alpha composition
equation.Source§fn inside(self, other: C) -> C
 
fn inside(self, other: C) -> C
self that overlaps the visible parts of
other.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>
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>
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)
&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)
&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
key and return true if they are equal.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> FromColor<T> for Uwhere
    U: FromColorUnclamped<T> + Clamp,
 
impl<T, U> FromColor<T> for Uwhere
    U: FromColorUnclamped<T> + Clamp,
Source§fn from_color(t: T) -> U
 
fn from_color(t: T) -> U
Source§impl<T, U> FromColorMut<U> for T
 
impl<T, U> FromColorMut<U> for T
Source§fn from_color_mut(color: &mut U) -> FromColorMutGuard<'_, T, U>
 
fn from_color_mut(color: &mut U) -> FromColorMutGuard<'_, T, U>
Source§impl<T, U> FromColorUnclampedMut<U> for Twhere
    T: FromColorUnclamped<U> + ArrayCast + Clone,
    U: FromColorUnclamped<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
 
impl<T, U> FromColorUnclampedMut<U> for Twhere
    T: FromColorUnclamped<U> + ArrayCast + Clone,
    U: FromColorUnclamped<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
Source§fn from_color_unclamped_mut(
    color: &mut U,
) -> FromColorUnclampedMutGuard<'_, T, U>
 
fn from_color_unclamped_mut( color: &mut U, ) -> FromColorUnclampedMutGuard<'_, T, U>
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> 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> ⓘ
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> IntoColorMut<T> for U
 
impl<T, U> IntoColorMut<T> for U
Source§fn into_color_mut(&mut self) -> FromColorMutGuard<'_, T, U>
 
fn into_color_mut(&mut self) -> FromColorMutGuard<'_, T, 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, U> IntoColorUnclampedMut<T> for U
 
impl<T, U> IntoColorUnclampedMut<T> for U
Source§fn into_color_unclamped_mut(&mut self) -> FromColorUnclampedMutGuard<'_, T, U>
 
fn into_color_unclamped_mut(&mut self) -> FromColorUnclampedMutGuard<'_, T, U>
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<'a, T> ParamCurveMoments<'a> for T
 
impl<'a, T> ParamCurveMoments<'a> for T
Source§impl<T> ToHex for T
 
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
    U: FromIterator<char>,
 
fn encode_hex<U>(&self) -> Uwhere
    U: FromIterator<char>,
self into the result. Lower case
letters are used (e.g. f9b4ca)Source§fn encode_hex_upper<U>(&self) -> Uwhere
    U: FromIterator<char>,
 
fn encode_hex_upper<U>(&self) -> Uwhere
    U: FromIterator<char>,
self into the result. Upper case
letters are used (e.g. F9B4CA)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> TryFromColor<T> for U
 
impl<T, U> TryFromColor<T> for U
Source§fn try_from_color(t: T) -> Result<U, OutOfBounds<U>>
 
fn try_from_color(t: T) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read moreSource§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