#[repr(C)]pub struct Yxy<Wp = D65, T = f32> {
pub x: T,
pub y: T,
pub luma: T,
pub white_point: PhantomData<Wp>,
}
Expand description
The CIE 1931 Yxy (xyY) color space.
Yxy is a luminance-chromaticity color space derived from the CIE XYZ color space. It is widely used to define colors. The chromaticity diagrams for the color spaces are a plot of this color space’s x and y coordinates.
Conversions and operations on this color space depend on the white point.
Fields§
§x: T
x chromaticity co-ordinate derived from XYZ color space as X/(X+Y+Z). Typical range is between 0 and 1
y: T
y chromaticity co-ordinate derived from XYZ color space as Y/(X+Y+Z). Typical range is between 0 and 1
luma: T
luma (Y) was a measure of the brightness or luminance of a color. It is the same as the Y from the XYZ color space. Its range is from 0 to 1, where 0 is black and 1 is white.
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> Yxy<Wp, T>
impl<Wp, T> Yxy<Wp, T>
sourcepub fn into_components(self) -> (T, T, T)
pub fn into_components(self) -> (T, T, T)
Convert to a (x, y, luma)
, a.k.a. (x, y, Y)
tuple.
sourcepub fn from_components((x, y, luma): (T, T, T)) -> Self
pub fn from_components((x, y, luma): (T, T, T)) -> Self
Convert from a (x, y, luma)
, a.k.a. (x, y, Y)
tuple.
sourcepub fn with_white_point<NewWp>(self) -> Yxy<NewWp, T>
pub fn with_white_point<NewWp>(self) -> Yxy<NewWp, T>
Changes the reference white point without changing the color value.
This function doesn’t change the numerical values, and thus the color it represents in an absolute sense. However, the appearance of the color may not be the same when observed with the new white point. The effect would be similar to taking a photo with an incorrect white balance.
See chromatic_adaptation for operations that can change the white point while preserving the color’s appearance.
source§impl<Wp, C> Yxy<Wp, C>
impl<Wp, C> Yxy<Wp, C>
sourcepub fn iter<'a>(&'a self) -> <&'a Self as IntoIterator>::IntoIterwhere
&'a Self: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Self as IntoIterator>::IntoIterwhere
&'a Self: IntoIterator,
Return an iterator over the colors in the wrapped collections.
sourcepub fn iter_mut<'a>(&'a mut self) -> <&'a mut Self as IntoIterator>::IntoIterwhere
&'a mut Self: IntoIterator,
pub fn iter_mut<'a>(&'a mut self) -> <&'a mut Self as IntoIterator>::IntoIterwhere
&'a mut Self: IntoIterator,
Return an iterator that allows modifying the colors in the wrapped collections.
sourcepub fn get<'a, I, T>(
&'a self,
index: I
) -> Option<Yxy<Wp, &<I as SliceIndex<[T]>>::Output>>
pub fn get<'a, I, T>( &'a self, index: I ) -> Option<Yxy<Wp, &<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<Yxy<Wp, &mut <I as SliceIndex<[T]>>::Output>>
pub fn get_mut<'a, I, T>( &'a mut self, index: I ) -> Option<Yxy<Wp, &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> Yxy<Wp, Vec<T>>
impl<Wp, T> Yxy<Wp, Vec<T>>
sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create a struct of vectors with a minimum capacity. See Vec::with_capacity
for details.
sourcepub fn push(&mut self, value: Yxy<Wp, T>)
pub fn push(&mut self, value: Yxy<Wp, T>)
Push an additional color’s components onto the component vectors. See Vec::push
for details.
sourcepub fn pop(&mut self) -> Option<Yxy<Wp, T>>
pub fn pop(&mut self) -> Option<Yxy<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 Yxy<Wp, T>
impl<Wp, T> AbsDiffEq for Yxy<Wp, T>
source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
source§fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool
source§fn abs_diff_ne(&self, other: &Self, epsilon: T::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Self, epsilon: T::Epsilon) -> bool
AbsDiffEq::abs_diff_eq
.source§impl<Wp, T> AddAssign<T> for Yxy<Wp, T>
impl<Wp, T> AddAssign<T> for Yxy<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 Yxy<Wp, T>where
T: AddAssign,
impl<Wp, T> AddAssign for Yxy<Wp, T>where
T: AddAssign,
source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+=
operation. Read moresource§impl<Wp, T> ClampAssign for Yxy<Wp, T>
impl<Wp, T> ClampAssign for Yxy<Wp, T>
source§fn clamp_assign(&mut self)
fn clamp_assign(&mut self)
source§impl<'de, Wp, T> Deserialize<'de> for Yxy<Wp, T>where
T: Deserialize<'de>,
impl<'de, Wp, T> Deserialize<'de> for Yxy<Wp, T>where
T: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl<Wp, T> Distribution<Yxy<Wp, T>> for Standardwhere
Standard: Distribution<T>,
impl<Wp, T> Distribution<Yxy<Wp, T>> for Standardwhere
Standard: Distribution<T>,
source§impl<Wp, T> DivAssign<T> for Yxy<Wp, T>
impl<Wp, T> DivAssign<T> for Yxy<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 Yxy<Wp, T>where
T: DivAssign,
impl<Wp, T> DivAssign for Yxy<Wp, T>where
T: DivAssign,
source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
/=
operation. Read moresource§impl<Wp, T> EuclideanDistance for Yxy<Wp, T>
impl<Wp, T> EuclideanDistance for Yxy<Wp, T>
source§impl<Wp, T, C> Extend<Yxy<Wp, T>> for Yxy<Wp, C>where
C: Extend<T>,
impl<Wp, T, C> Extend<Yxy<Wp, T>> for Yxy<Wp, C>where
C: Extend<T>,
source§fn extend<I: IntoIterator<Item = Yxy<Wp, T>>>(&mut self, iter: I)
fn extend<I: IntoIterator<Item = Yxy<Wp, T>>>(&mut self, iter: I)
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, V, const N: usize> From<Yxy<Wp, V>> for [Yxy<Wp, T>; N]where
Self: Default,
V: IntoScalarArray<N, Scalar = T>,
impl<Wp, T, V, const N: usize> From<Yxy<Wp, V>> for [Yxy<Wp, T>; N]where
Self: Default,
V: IntoScalarArray<N, Scalar = T>,
source§impl<Wp, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Yxy<Wp, T>where
_C: IntoColorUnclamped<Self>,
impl<Wp, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Yxy<Wp, T>where
_C: IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Alpha<_C, _A>) -> Self
fn from_color_unclamped(color: Alpha<_C, _A>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Hsluv<Wp, T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Hsluv<Wp, T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Hsluv<Wp, T>) -> Self
fn from_color_unclamped(color: Hsluv<Wp, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsv<_S, T>) -> Self
fn from_color_unclamped(color: Hsv<_S, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hwb<_S, T>) -> Self
fn from_color_unclamped(color: Hwb<_S, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Lab<Wp, T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Lab<Wp, T>) -> Self
fn from_color_unclamped(color: Lab<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Lch<Wp, T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Lch<Wp, T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Lch<Wp, T>) -> Self
fn from_color_unclamped(color: Lch<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Lchuv<Wp, T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Lchuv<Wp, T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Lchuv<Wp, T>) -> Self
fn from_color_unclamped(color: Lchuv<Wp, T>) -> Self
source§impl<T, S> FromColorUnclamped<Luma<S, T>> for Yxy<S::WhitePoint, T>
impl<T, S> FromColorUnclamped<Luma<S, T>> for Yxy<S::WhitePoint, T>
source§fn from_color_unclamped(luma: Luma<S, T>) -> Self
fn from_color_unclamped(luma: Luma<S, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Luv<Wp, T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Luv<Wp, T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Luv<Wp, T>) -> Self
fn from_color_unclamped(color: Luv<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Okhsl<T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Okhsl<T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Okhsl<T>) -> Self
fn from_color_unclamped(color: Okhsl<T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Okhsv<T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Okhsv<T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Okhsv<T>) -> Self
fn from_color_unclamped(color: Okhsv<T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Okhwb<T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Okhwb<T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Okhwb<T>) -> Self
fn from_color_unclamped(color: Okhwb<T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Oklab<T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Oklab<T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Oklab<T>) -> Self
fn from_color_unclamped(color: Oklab<T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Oklch<T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Oklch<T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Oklch<T>) -> Self
fn from_color_unclamped(color: Oklch<T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Rgb<_S, T>) -> Self
fn from_color_unclamped(color: Rgb<_S, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Yxy<Wp, T>
source§fn from_color_unclamped(xyz: Xyz<Wp, T>) -> Self
fn from_color_unclamped(xyz: Xyz<Wp, T>) -> Self
source§impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T> FromColorUnclamped<Yxy<<<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<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Yxy<<<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<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T> FromColorUnclamped<Yxy<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
impl<S, T> FromColorUnclamped<Yxy<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
source§fn from_color_unclamped(color: Yxy<S::WhitePoint, T>) -> Self
fn from_color_unclamped(color: Yxy<S::WhitePoint, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Hsluv<Wp, T>
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Hsluv<Wp, T>
source§fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lab<Wp, T>
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lab<Wp, T>
source§fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lch<Wp, T>
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lch<Wp, T>
source§fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lchuv<Wp, T>
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Lchuv<Wp, T>
source§fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Luv<Wp, T>
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Luv<Wp, T>
source§fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Xyz<Wp, T>
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Xyz<Wp, T>
source§fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Yxy<Wp, T>
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Yxy<Wp, T>
source§fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
fn from_color_unclamped(color: Yxy<Wp, T>) -> Self
source§impl<Wp, T, C> FromIterator<Yxy<Wp, T>> for Yxy<Wp, C>
impl<Wp, T, C> FromIterator<Yxy<Wp, T>> for Yxy<Wp, C>
source§impl<Wp, T> HasBoolMask for Yxy<Wp, T>where
T: HasBoolMask,
impl<Wp, T> HasBoolMask for Yxy<Wp, T>where
T: HasBoolMask,
§type Mask = <T as HasBoolMask>::Mask
type Mask = <T as HasBoolMask>::Mask
Self
values.source§impl<'a, 'b, Wp, T> IntoIterator for &'a Yxy<Wp, &'b [T]>
impl<'a, 'b, Wp, T> IntoIterator for &'a Yxy<Wp, &'b [T]>
source§impl<'a, 'b, Wp, T> IntoIterator for &'a Yxy<Wp, &'b mut [T]>
impl<'a, 'b, Wp, T> IntoIterator for &'a Yxy<Wp, &'b mut [T]>
source§impl<'a, Wp, T> IntoIterator for &'a Yxy<Wp, Vec<T>>
impl<'a, Wp, T> IntoIterator for &'a Yxy<Wp, Vec<T>>
source§impl<'a, 'b, Wp, T> IntoIterator for &'a mut Yxy<Wp, &'b mut [T]>
impl<'a, 'b, Wp, T> IntoIterator for &'a mut Yxy<Wp, &'b mut [T]>
source§impl<'a, Wp, T> IntoIterator for &'a mut Yxy<Wp, Vec<T>>
impl<'a, Wp, T> IntoIterator for &'a mut Yxy<Wp, Vec<T>>
source§impl<'a, Wp, T> IntoIterator for Yxy<Wp, &'a [T]>
impl<'a, Wp, T> IntoIterator for Yxy<Wp, &'a [T]>
source§impl<'a, Wp, T> IntoIterator for Yxy<Wp, &'a mut [T]>
impl<'a, Wp, T> IntoIterator for Yxy<Wp, &'a mut [T]>
source§impl<Wp, T> IntoIterator for Yxy<Wp, Vec<T>>
impl<Wp, T> IntoIterator for Yxy<Wp, Vec<T>>
source§impl<Wp, T> IsWithinBounds for Yxy<Wp, T>
impl<Wp, T> IsWithinBounds for Yxy<Wp, T>
source§fn is_within_bounds(&self) -> T::Mask
fn is_within_bounds(&self) -> T::Mask
source§impl<Wp, T> Lighten for Yxy<Wp, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + One,
T::Mask: LazySelect<T>,
impl<Wp, T> Lighten for Yxy<Wp, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + One,
T::Mask: LazySelect<T>,
source§impl<Wp, T> LightenAssign for Yxy<Wp, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + One,
T::Mask: LazySelect<T>,
impl<Wp, T> LightenAssign for Yxy<Wp, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + One,
T::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 Yxy<Wp, T>
impl<Wp, T> MulAssign<T> for Yxy<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 Yxy<Wp, T>where
T: MulAssign,
impl<Wp, T> MulAssign for Yxy<Wp, T>where
T: MulAssign,
source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
*=
operation. Read moresource§impl<Wp, T> PartialEq for Yxy<Wp, T>where
T: PartialEq,
impl<Wp, T> PartialEq for Yxy<Wp, T>where
T: PartialEq,
source§impl<Wp, T> Premultiply for Yxy<Wp, T>where
T: Real + Stimulus + Zero + IsValidDivisor + Mul<T, Output = T> + Div<T, Output = T> + Clone,
T::Mask: LazySelect<T> + Clone,
impl<Wp, T> Premultiply for Yxy<Wp, T>where
T: Real + Stimulus + Zero + IsValidDivisor + Mul<T, Output = T> + Div<T, Output = T> + Clone,
T::Mask: LazySelect<T> + Clone,
source§impl<Wp, T> RelativeContrast for Yxy<Wp, T>
impl<Wp, T> RelativeContrast for Yxy<Wp, T>
§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrast
source§fn get_contrast_ratio(self, other: Self) -> T
fn get_contrast_ratio(self, other: Self) -> T
palette::color_difference::Wcag21RelativeContrast
source§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::Wcag21RelativeContrast
source§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::Wcag21RelativeContrast
source§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::Wcag21RelativeContrast
source§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::Wcag21RelativeContrast
source§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::Wcag21RelativeContrast
source§impl<Wp, T> RelativeEq for Yxy<Wp, T>
impl<Wp, T> RelativeEq for Yxy<Wp, T>
source§fn default_max_relative() -> T::Epsilon
fn default_max_relative() -> T::Epsilon
source§fn relative_eq(
&self,
other: &Self,
epsilon: T::Epsilon,
max_relative: T::Epsilon
) -> bool
fn relative_eq( &self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon ) -> bool
source§fn relative_ne(
&self,
other: &Self,
epsilon: T::Epsilon,
max_relative: T::Epsilon
) -> bool
fn relative_ne( &self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon ) -> bool
RelativeEq::relative_eq
.source§impl<Wp, T> SampleUniform for Yxy<Wp, T>where
T: SampleUniform + Clone,
impl<Wp, T> SampleUniform for Yxy<Wp, T>where
T: SampleUniform + Clone,
§type Sampler = UniformYxy<Wp, T>
type Sampler = UniformYxy<Wp, T>
UniformSampler
implementation supporting type X
.source§impl<Wp, T> SaturatingAdd<T> for Yxy<Wp, T>where
T: SaturatingAdd<Output = T> + Clone,
impl<Wp, T> SaturatingAdd<T> for Yxy<Wp, T>where
T: SaturatingAdd<Output = T> + Clone,
source§impl<Wp, T> SaturatingAdd for Yxy<Wp, T>where
T: SaturatingAdd<Output = T>,
impl<Wp, T> SaturatingAdd for Yxy<Wp, T>where
T: SaturatingAdd<Output = T>,
source§impl<Wp, T> SaturatingSub<T> for Yxy<Wp, T>where
T: SaturatingSub<Output = T> + Clone,
impl<Wp, T> SaturatingSub<T> for Yxy<Wp, T>where
T: SaturatingSub<Output = T> + Clone,
source§impl<Wp, T> SaturatingSub for Yxy<Wp, T>where
T: SaturatingSub<Output = T>,
impl<Wp, T> SaturatingSub for Yxy<Wp, T>where
T: SaturatingSub<Output = T>,
source§impl<Wp, T> SubAssign<T> for Yxy<Wp, T>
impl<Wp, T> SubAssign<T> for Yxy<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 Yxy<Wp, T>where
T: SubAssign,
impl<Wp, T> SubAssign for Yxy<Wp, T>where
T: SubAssign,
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-=
operation. Read moresource§impl<Wp, T> UlpsEq for Yxy<Wp, T>
impl<Wp, T> UlpsEq for Yxy<Wp, T>
source§impl<Wp, T, _A> WithAlpha<_A> for Yxy<Wp, T>where
_A: Stimulus,
impl<Wp, T, _A> WithAlpha<_A> for Yxy<Wp, T>where
_A: Stimulus,
source§fn with_alpha(self, alpha: _A) -> Self::WithAlpha
fn with_alpha(self, alpha: _A) -> Self::WithAlpha
Self
already has a transparency, it is
overwritten. Read moresource§fn without_alpha(self) -> Self::Color
fn without_alpha(self) -> Self::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) -> (Self::Color, _A)
fn split(self) -> (Self::Color, _A)
impl<Wp, T> Copy for Yxy<Wp, T>where
T: Copy,
impl<Wp, T> Eq for Yxy<Wp, T>where
T: Eq,
impl<Wp: 'static, T> Pod for Yxy<Wp, T>where
T: Pod,
Auto Trait Implementations§
impl<Wp, T> Freeze for Yxy<Wp, T>where
T: Freeze,
impl<Wp, T> RefUnwindSafe for Yxy<Wp, T>where
T: RefUnwindSafe,
Wp: RefUnwindSafe,
impl<Wp, T> Send for Yxy<Wp, T>
impl<Wp, T> Sync for Yxy<Wp, T>
impl<Wp, T> Unpin for Yxy<Wp, T>
impl<Wp, T> UnwindSafe for Yxy<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, 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>,
§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> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.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> 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, 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>,
§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<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
source§fn borrow(&self) -> &Borrowed
fn borrow(&self) -> &Borrowed
Borrow::borrow
source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
§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