Struct cosmic::cosmic_theme::palette::Xyz
source · #[repr(C)]pub struct Xyz<Wp = D65, T = f32> {
pub x: T,
pub y: T,
pub z: T,
pub white_point: PhantomData<Wp>,
}
Expand description
The CIE 1931 XYZ color space.
XYZ links the perceived colors to their wavelengths and simply makes it possible to describe the way we see colors as numbers. It’s often used when converting from one color space to an other, and requires a standard illuminant and a standard observer to be defined.
Conversions and operations on this color space depend on the defined white point
Fields§
§x: T
X is the scale of what can be seen as a response curve for the cone cells in the human eye. Its range depends on the white point and goes from 0.0 to 0.95047 for the default D65.
y: T
Y is the luminance of the color, where 0.0 is black and 1.0 is white.
z: T
Z is the scale of what can be seen as the blue stimulation. Its range depends on the white point and goes from 0.0 to 1.08883 for the default D65.
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> Xyz<Wp, T>
impl<Wp, T> Xyz<Wp, T>
sourcepub fn into_components(self) -> (T, T, T)
pub fn into_components(self) -> (T, T, T)
Convert to a (X, Y, Z)
tuple.
sourcepub fn from_components(_: (T, T, T)) -> Xyz<Wp, T>
pub fn from_components(_: (T, T, T)) -> Xyz<Wp, T>
Convert from a (X, Y, Z)
tuple.
sourcepub fn with_white_point<NewWp>(self) -> Xyz<NewWp, T>
pub fn with_white_point<NewWp>(self) -> Xyz<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, T> Xyz<Wp, T>where
T: Zero,
Wp: WhitePoint<T>,
impl<Wp, T> Xyz<Wp, T>where
T: Zero,
Wp: WhitePoint<T>,
source§impl<Wp, C> Xyz<Wp, C>
impl<Wp, C> Xyz<Wp, C>
sourcepub fn iter<'a>(&'a self) -> <&'a Xyz<Wp, C> as IntoIterator>::IntoIterwhere
&'a Xyz<Wp, C>: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Xyz<Wp, C> as IntoIterator>::IntoIterwhere
&'a Xyz<Wp, C>: IntoIterator,
Return an iterator over the colors in the wrapped collections.
sourcepub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Xyz<Wp, C> as IntoIterator>::IntoIterwhere
&'a mut Xyz<Wp, C>: IntoIterator,
pub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Xyz<Wp, C> as IntoIterator>::IntoIterwhere
&'a mut Xyz<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<Xyz<Wp, &'a <I as SliceIndex<[T]>>::Output>>
pub fn get<'a, I, T>( &'a self, index: I, ) -> Option<Xyz<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<Xyz<Wp, &'a mut <I as SliceIndex<[T]>>::Output>>
pub fn get_mut<'a, I, T>( &'a mut self, index: I, ) -> Option<Xyz<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> Xyz<Wp, Vec<T>>
impl<Wp, T> Xyz<Wp, Vec<T>>
sourcepub fn with_capacity(capacity: usize) -> Xyz<Wp, Vec<T>>
pub fn with_capacity(capacity: usize) -> Xyz<Wp, Vec<T>>
Create a struct of vectors with a minimum capacity. See Vec::with_capacity
for details.
sourcepub fn push(&mut self, value: Xyz<Wp, T>)
pub fn push(&mut self, value: Xyz<Wp, T>)
Push an additional color’s components onto the component vectors. See Vec::push
for details.
sourcepub fn pop(&mut self) -> Option<Xyz<Wp, T>>
pub fn pop(&mut self) -> Option<Xyz<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 Xyz<Wp, T>
impl<Wp, T> AbsDiffEq for Xyz<Wp, T>
source§fn default_epsilon() -> <Xyz<Wp, T> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Xyz<Wp, T> as AbsDiffEq>::Epsilon
source§fn abs_diff_eq(
&self,
other: &Xyz<Wp, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Xyz<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn abs_diff_ne(
&self,
other: &Xyz<Wp, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_ne( &self, other: &Xyz<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
AbsDiffEq::abs_diff_eq
.source§impl<Wp, T> AddAssign<T> for Xyz<Wp, T>
impl<Wp, T> AddAssign<T> for Xyz<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 Xyz<Wp, T>where
T: AddAssign,
impl<Wp, T> AddAssign for Xyz<Wp, T>where
T: AddAssign,
source§fn add_assign(&mut self, other: Xyz<Wp, T>)
fn add_assign(&mut self, other: Xyz<Wp, T>)
+=
operation. Read moresource§impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<<T as FromScalar>::Scalar>>::StaticWp, T>> for Cam16<T>where
WpParam: WhitePointParameter<<T as FromScalar>::Scalar>,
T: Real + FromScalar + Arithmetics + Powf + Sqrt + Abs + Signum + Trigonometry + RealAngle + Clone,
<T as FromScalar>::Scalar: Clone,
impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<<T as FromScalar>::Scalar>>::StaticWp, T>> for Cam16<T>where
WpParam: WhitePointParameter<<T as FromScalar>::Scalar>,
T: Real + FromScalar + Arithmetics + Powf + Sqrt + Abs + Signum + Trigonometry + RealAngle + Clone,
<T as FromScalar>::Scalar: Clone,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn cam16_from_unclamped(
color: Xyz<<WpParam as WhitePointParameter<<T as FromScalar>::Scalar>>::StaticWp, T>,
parameters: BakedParameters<WpParam, <Cam16<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<<T as FromScalar>::Scalar>>::StaticWp, T>>>::Scalar>,
) -> Cam16<T>
fn cam16_from_unclamped( color: Xyz<<WpParam as WhitePointParameter<<T as FromScalar>::Scalar>>::StaticWp, T>, parameters: BakedParameters<WpParam, <Cam16<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<<T as FromScalar>::Scalar>>::StaticWp, T>>>::Scalar>, ) -> Cam16<T>
color
into Self
, using the provided parameters.source§impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Jch<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Jch<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
source§type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
parameters
when converting.source§fn cam16_from_unclamped(
color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>,
parameters: BakedParameters<WpParam, <Cam16Jch<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>,
) -> Cam16Jch<T>
fn cam16_from_unclamped( color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, parameters: BakedParameters<WpParam, <Cam16Jch<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>, ) -> Cam16Jch<T>
color
into Self
, using the provided parameters.source§impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Jmh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Jmh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
source§type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
parameters
when converting.source§fn cam16_from_unclamped(
color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>,
parameters: BakedParameters<WpParam, <Cam16Jmh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>,
) -> Cam16Jmh<T>
fn cam16_from_unclamped( color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, parameters: BakedParameters<WpParam, <Cam16Jmh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>, ) -> Cam16Jmh<T>
color
into Self
, using the provided parameters.source§impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Jsh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Jsh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
source§type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
parameters
when converting.source§fn cam16_from_unclamped(
color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>,
parameters: BakedParameters<WpParam, <Cam16Jsh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>,
) -> Cam16Jsh<T>
fn cam16_from_unclamped( color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, parameters: BakedParameters<WpParam, <Cam16Jsh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>, ) -> Cam16Jsh<T>
color
into Self
, using the provided parameters.source§impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Qch<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Qch<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
source§type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
parameters
when converting.source§fn cam16_from_unclamped(
color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>,
parameters: BakedParameters<WpParam, <Cam16Qch<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>,
) -> Cam16Qch<T>
fn cam16_from_unclamped( color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, parameters: BakedParameters<WpParam, <Cam16Qch<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>, ) -> Cam16Qch<T>
color
into Self
, using the provided parameters.source§impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Qmh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Qmh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
source§type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
parameters
when converting.source§fn cam16_from_unclamped(
color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>,
parameters: BakedParameters<WpParam, <Cam16Qmh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>,
) -> Cam16Qmh<T>
fn cam16_from_unclamped( color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, parameters: BakedParameters<WpParam, <Cam16Qmh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>, ) -> Cam16Qmh<T>
color
into Self
, using the provided parameters.source§impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Qsh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
impl<WpParam, T> Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>> for Cam16Qsh<T>where
Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>: IntoCam16Unclamped<WpParam, Cam16<T>>,
WpParam: WhitePointParameter<T>,
source§type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
type Scalar = <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as IntoCam16Unclamped<WpParam, Cam16<T>>>::Scalar
parameters
when converting.source§fn cam16_from_unclamped(
color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>,
parameters: BakedParameters<WpParam, <Cam16Qsh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>,
) -> Cam16Qsh<T>
fn cam16_from_unclamped( color: Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, parameters: BakedParameters<WpParam, <Cam16Qsh<T> as Cam16FromUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>>>::Scalar>, ) -> Cam16Qsh<T>
color
into Self
, using the provided parameters.source§impl<Wp, T> ClampAssign for Xyz<Wp, T>
impl<Wp, T> ClampAssign for Xyz<Wp, T>
source§fn clamp_assign(&mut self)
fn clamp_assign(&mut self)
source§impl<'de, Wp, T> Deserialize<'de> for Xyz<Wp, T>where
T: Deserialize<'de>,
impl<'de, Wp, T> Deserialize<'de> for Xyz<Wp, T>where
T: Deserialize<'de>,
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Xyz<Wp, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Xyz<Wp, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl<Wp, T> DivAssign<T> for Xyz<Wp, T>
impl<Wp, T> DivAssign<T> for Xyz<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 Xyz<Wp, T>where
T: DivAssign,
impl<Wp, T> DivAssign for Xyz<Wp, T>where
T: DivAssign,
source§fn div_assign(&mut self, other: Xyz<Wp, T>)
fn div_assign(&mut self, other: Xyz<Wp, T>)
/=
operation. Read moresource§impl<Wp, T> EuclideanDistance for Xyz<Wp, T>
impl<Wp, T> EuclideanDistance for Xyz<Wp, T>
source§impl<Wp, T, C> Extend<Xyz<Wp, T>> for Xyz<Wp, C>where
C: Extend<T>,
impl<Wp, T, C> Extend<Xyz<Wp, T>> for Xyz<Wp, C>where
C: Extend<T>,
source§fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Xyz<Wp, T>>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Xyz<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<Xyz<Wp, T>>> for Xyz<Wp, T>where
Xyz<Wp, T>: Premultiply<Scalar = T>,
impl<Wp, T> From<PreAlpha<Xyz<Wp, T>>> for Xyz<Wp, T>where
Xyz<Wp, T>: Premultiply<Scalar = T>,
source§impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: FromScalar,
Cam16Jch<T>: Cam16IntoUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, Scalar = <T as FromScalar>::Scalar>,
impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: FromScalar,
Cam16Jch<T>: Cam16IntoUnclamped<WpParam, Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>, Scalar = <T as FromScalar>::Scalar>,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn from_cam16_unclamped(
cam16: Cam16<T>,
parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16<T>>>::Scalar>,
) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
fn from_cam16_unclamped( cam16: Cam16<T>, parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16<T>>>::Scalar>, ) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
cam16
into Self
, using the provided parameters.source§impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Jch<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Jch<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn from_cam16_unclamped(
cam16: Cam16Jch<T>,
parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Jch<T>>>::Scalar>,
) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
fn from_cam16_unclamped( cam16: Cam16Jch<T>, parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Jch<T>>>::Scalar>, ) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
cam16
into Self
, using the provided parameters.source§impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Jmh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Jmh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn from_cam16_unclamped(
cam16: Cam16Jmh<T>,
parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Jmh<T>>>::Scalar>,
) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
fn from_cam16_unclamped( cam16: Cam16Jmh<T>, parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Jmh<T>>>::Scalar>, ) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
cam16
into Self
, using the provided parameters.source§impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Jsh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Jsh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn from_cam16_unclamped(
cam16: Cam16Jsh<T>,
parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Jsh<T>>>::Scalar>,
) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
fn from_cam16_unclamped( cam16: Cam16Jsh<T>, parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Jsh<T>>>::Scalar>, ) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
cam16
into Self
, using the provided parameters.source§impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Qch<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Qch<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn from_cam16_unclamped(
cam16: Cam16Qch<T>,
parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Qch<T>>>::Scalar>,
) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
fn from_cam16_unclamped( cam16: Cam16Qch<T>, parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Qch<T>>>::Scalar>, ) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
cam16
into Self
, using the provided parameters.source§impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Qmh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Qmh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn from_cam16_unclamped(
cam16: Cam16Qmh<T>,
parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Qmh<T>>>::Scalar>,
) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
fn from_cam16_unclamped( cam16: Cam16Qmh<T>, parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Qmh<T>>>::Scalar>, ) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
cam16
into Self
, using the provided parameters.source§impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Qsh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
impl<WpParam, T> FromCam16Unclamped<WpParam, Cam16Qsh<T>> for Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>where
WpParam: WhitePointParameter<T>,
T: Real + FromScalar + One + Zero + Sqrt + Powf + Abs + Signum + Arithmetics + Trigonometry + RealAngle + SignedAngle + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
<T as FromScalar>::Scalar: Clone,
source§type Scalar = <T as FromScalar>::Scalar
type Scalar = <T as FromScalar>::Scalar
parameters
when converting.source§fn from_cam16_unclamped(
cam16: Cam16Qsh<T>,
parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Qsh<T>>>::Scalar>,
) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
fn from_cam16_unclamped( cam16: Cam16Qsh<T>, parameters: BakedParameters<WpParam, <Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T> as FromCam16Unclamped<WpParam, Cam16Qsh<T>>>::Scalar>, ) -> Xyz<<WpParam as WhitePointParameter<T>>::StaticWp, T>
cam16
into Self
, using the provided parameters.source§impl<Wp, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Xyz<Wp, T>where
_C: IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Xyz<Wp, T>where
_C: IntoColorUnclamped<Xyz<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
source§impl<Wp, T> FromColorUnclamped<Hsluv<Wp, T>> for Xyz<Wp, T>where
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hsluv<Wp, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T> FromColorUnclamped<Hsluv<Wp, T>> for Xyz<Wp, T>where
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hsluv<Wp, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Xyz<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<Lch<Wp, T>> for Xyz<Wp, T>where
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Lch<Wp, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T> FromColorUnclamped<Lch<Wp, T>> for Xyz<Wp, T>where
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Lch<Wp, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
source§impl<Wp, T> FromColorUnclamped<Lchuv<Wp, T>> for Xyz<Wp, T>where
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Lchuv<Wp, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T> FromColorUnclamped<Lchuv<Wp, T>> for Xyz<Wp, T>where
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Lchuv<Wp, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
source§impl<Wp, T, S> FromColorUnclamped<Luma<S, T>> for Xyz<Wp, T>where
Xyz<Wp, T>: Mul<T, Output = Xyz<Wp, T>>,
Wp: WhitePoint<T>,
S: LumaStandard<WhitePoint = Wp>,
<S as LumaStandard>::TransferFn: IntoLinear<T, T>,
impl<Wp, T, S> FromColorUnclamped<Luma<S, T>> for Xyz<Wp, T>where
Xyz<Wp, T>: Mul<T, Output = Xyz<Wp, T>>,
Wp: WhitePoint<T>,
S: LumaStandard<WhitePoint = Wp>,
<S as LumaStandard>::TransferFn: IntoLinear<T, T>,
source§impl<Wp, T> FromColorUnclamped<Luv<Wp, T>> for Xyz<Wp, T>where
T: Real + Zero + Recip + Powi + Arithmetics + PartialOrd + Clone + HasBoolMask<Mask = bool>,
Wp: WhitePoint<T>,
impl<Wp, T> FromColorUnclamped<Luv<Wp, T>> for Xyz<Wp, T>where
T: Real + Zero + Recip + Powi + Arithmetics + PartialOrd + Clone + HasBoolMask<Mask = bool>,
Wp: WhitePoint<T>,
source§impl<Wp, T> FromColorUnclamped<Okhsl<T>> for Xyz<Wp, T>
impl<Wp, T> FromColorUnclamped<Okhsl<T>> for Xyz<Wp, T>
source§impl<Wp, T> FromColorUnclamped<Okhsv<T>> for Xyz<Wp, T>
impl<Wp, T> FromColorUnclamped<Okhsv<T>> for Xyz<Wp, T>
source§impl<Wp, T> FromColorUnclamped<Okhwb<T>> for Xyz<Wp, T>
impl<Wp, T> FromColorUnclamped<Okhwb<T>> for Xyz<Wp, T>
source§impl<Wp, T> FromColorUnclamped<Oklch<T>> for Xyz<Wp, T>
impl<Wp, T> FromColorUnclamped<Oklch<T>> for Xyz<Wp, T>
source§impl<Wp, T, S> FromColorUnclamped<Rgb<S, T>> for Xyz<Wp, T>where
T: Arithmetics + FromScalar,
<T as FromScalar>::Scalar: Real + Recip + IsValidDivisor<Mask = bool> + Arithmetics + FromScalar<Scalar = <T as FromScalar>::Scalar> + Clone,
Wp: WhitePoint<<T as FromScalar>::Scalar>,
S: RgbStandard,
<S as RgbStandard>::TransferFn: IntoLinear<T, T>,
<S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
<<S as RgbStandard>::Space as RgbSpace>::Primaries: Primaries<<T as FromScalar>::Scalar>,
Yxy<Any, <T as FromScalar>::Scalar>: IntoColorUnclamped<Xyz<Any, <T as FromScalar>::Scalar>>,
impl<Wp, T, S> FromColorUnclamped<Rgb<S, T>> for Xyz<Wp, T>where
T: Arithmetics + FromScalar,
<T as FromScalar>::Scalar: Real + Recip + IsValidDivisor<Mask = bool> + Arithmetics + FromScalar<Scalar = <T as FromScalar>::Scalar> + Clone,
Wp: WhitePoint<<T as FromScalar>::Scalar>,
S: RgbStandard,
<S as RgbStandard>::TransferFn: IntoLinear<T, T>,
<S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
<<S as RgbStandard>::Space as RgbSpace>::Primaries: Primaries<<T as FromScalar>::Scalar>,
Yxy<Any, <T as FromScalar>::Scalar>: IntoColorUnclamped<Xyz<Any, <T as FromScalar>::Scalar>>,
source§impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
source§fn from_color_unclamped(
color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
fn from_color_unclamped( color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§fn from_color_unclamped(
color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
fn from_color_unclamped( color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T>where
S: RgbStandard,
<S as RgbStandard>::TransferFn: FromLinear<T, T>,
<<S as RgbStandard>::Space as RgbSpace>::Primaries: Primaries<<T as FromScalar>::Scalar>,
<<S as RgbStandard>::Space as RgbSpace>::WhitePoint: WhitePoint<<T as FromScalar>::Scalar>,
T: Arithmetics + FromScalar,
<T as FromScalar>::Scalar: Real + Recip + IsValidDivisor<Mask = bool> + Arithmetics + Clone + FromScalar<Scalar = <T as FromScalar>::Scalar>,
Yxy<Any, <T as FromScalar>::Scalar>: IntoColorUnclamped<Xyz<Any, <T as FromScalar>::Scalar>>,
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T>where
S: RgbStandard,
<S as RgbStandard>::TransferFn: FromLinear<T, T>,
<<S as RgbStandard>::Space as RgbSpace>::Primaries: Primaries<<T as FromScalar>::Scalar>,
<<S as RgbStandard>::Space as RgbSpace>::WhitePoint: WhitePoint<<T as FromScalar>::Scalar>,
T: Arithmetics + FromScalar,
<T as FromScalar>::Scalar: Real + Recip + IsValidDivisor<Mask = bool> + Arithmetics + Clone + FromScalar<Scalar = <T as FromScalar>::Scalar>,
Yxy<Any, <T as FromScalar>::Scalar>: IntoColorUnclamped<Xyz<Any, <T as FromScalar>::Scalar>>,
source§fn from_color_unclamped(
color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Rgb<S, T>
fn from_color_unclamped( color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Rgb<S, T>
source§impl<S, T> FromColorUnclamped<Xyz<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
impl<S, T> FromColorUnclamped<Xyz<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
source§fn from_color_unclamped(
color: Xyz<<S as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Xyz<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
source§impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Hsluv<Wp, T>where
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Xyz<Wp, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Hsluv<Wp, T>where
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Xyz<Wp, T>> + IntoColorUnclamped<Hsluv<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<Xyz<Wp, T>> for Lch<Wp, T>where
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Xyz<Wp, T>> + IntoColorUnclamped<Lch<Wp, T>>,
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Lch<Wp, T>where
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Xyz<Wp, T>> + IntoColorUnclamped<Lch<Wp, T>>,
source§impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Lchuv<Wp, T>where
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Xyz<Wp, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Lchuv<Wp, T>where
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Xyz<Wp, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
source§impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Luv<Wp, T>where
Wp: WhitePoint<T>,
T: Real + Zero + Powi + Powf + Recip + Arithmetics + PartialOrd + Clone + HasBoolMask<Mask = bool>,
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Luv<Wp, T>where
Wp: WhitePoint<T>,
T: Real + Zero + Powi + Powf + Recip + Arithmetics + PartialOrd + Clone + HasBoolMask<Mask = bool>,
source§impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Xyz<Wp, T>
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Xyz<Wp, T>
source§impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Yxy<Wp, T>where
T: Zero + IsValidDivisor + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
impl<Wp, T> FromColorUnclamped<Xyz<Wp, T>> for Yxy<Wp, T>where
T: Zero + IsValidDivisor + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
source§impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Xyz<Wp, T>where
T: Zero + One + IsValidDivisor + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
impl<Wp, T> FromColorUnclamped<Yxy<Wp, T>> for Xyz<Wp, T>where
T: Zero + One + IsValidDivisor + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
source§impl<Wp, T, C> FromIterator<Xyz<Wp, T>> for Xyz<Wp, C>
impl<Wp, T, C> FromIterator<Xyz<Wp, T>> for Xyz<Wp, C>
source§impl<Wp, T> HasBoolMask for Xyz<Wp, T>where
T: HasBoolMask,
impl<Wp, T> HasBoolMask for Xyz<Wp, T>where
T: HasBoolMask,
source§type Mask = <T as HasBoolMask>::Mask
type Mask = <T as HasBoolMask>::Mask
Self
values.source§impl<'a, 'b, Wp, T> IntoIterator for &'a Xyz<Wp, &'b [T]>
impl<'a, 'b, Wp, T> IntoIterator for &'a Xyz<Wp, &'b [T]>
source§impl<'a, 'b, Wp, T> IntoIterator for &'a Xyz<Wp, &'b mut [T]>
impl<'a, 'b, Wp, T> IntoIterator for &'a Xyz<Wp, &'b mut [T]>
source§impl<'a, Wp, T> IntoIterator for &'a Xyz<Wp, Vec<T>>
impl<'a, Wp, T> IntoIterator for &'a Xyz<Wp, Vec<T>>
source§impl<'a, 'b, Wp, T> IntoIterator for &'a mut Xyz<Wp, &'b mut [T]>
impl<'a, 'b, Wp, T> IntoIterator for &'a mut Xyz<Wp, &'b mut [T]>
source§impl<'a, Wp, T> IntoIterator for &'a mut Xyz<Wp, Vec<T>>
impl<'a, Wp, T> IntoIterator for &'a mut Xyz<Wp, Vec<T>>
source§impl<'a, Wp, T> IntoIterator for Xyz<Wp, &'a [T]>
impl<'a, Wp, T> IntoIterator for Xyz<Wp, &'a [T]>
source§impl<'a, Wp, T> IntoIterator for Xyz<Wp, &'a mut [T]>
impl<'a, Wp, T> IntoIterator for Xyz<Wp, &'a mut [T]>
source§impl<Wp, T> IntoIterator for Xyz<Wp, Vec<T>>
impl<Wp, T> IntoIterator for Xyz<Wp, Vec<T>>
source§impl<Wp, T> IsWithinBounds for Xyz<Wp, T>where
T: PartialCmp + Zero,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
Wp: WhitePoint<T>,
impl<Wp, T> IsWithinBounds for Xyz<Wp, T>where
T: PartialCmp + Zero,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
Wp: WhitePoint<T>,
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 Xyz<Wp, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
Wp: WhitePoint<T>,
impl<Wp, T> Lighten for Xyz<Wp, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
Wp: WhitePoint<T>,
source§impl<Wp, T> LightenAssign for Xyz<Wp, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
Wp: WhitePoint<T>,
impl<Wp, T> LightenAssign for Xyz<Wp, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
Wp: WhitePoint<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 Xyz<Wp, T>
impl<Wp, T> MulAssign<T> for Xyz<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 Xyz<Wp, T>where
T: MulAssign,
impl<Wp, T> MulAssign for Xyz<Wp, T>where
T: MulAssign,
source§fn mul_assign(&mut self, other: Xyz<Wp, T>)
fn mul_assign(&mut self, other: Xyz<Wp, T>)
*=
operation. Read moresource§impl<Wp, T> Premultiply for Xyz<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 Xyz<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 Xyz<Wp, T>
impl<Wp, T> RelativeContrast for Xyz<Wp, T>
source§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrast
source§fn get_contrast_ratio(self, other: Xyz<Wp, T>) -> T
fn get_contrast_ratio(self, other: Xyz<Wp, T>) -> 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 Xyz<Wp, T>
impl<Wp, T> RelativeEq for Xyz<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: &Xyz<Wp, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Xyz<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn relative_ne(
&self,
other: &Xyz<Wp, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_ne( &self, other: &Xyz<Wp, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
RelativeEq::relative_eq
.source§impl<Wp, T> SaturatingAdd<T> for Xyz<Wp, T>where
T: SaturatingAdd<Output = T> + Clone,
impl<Wp, T> SaturatingAdd<T> for Xyz<Wp, T>where
T: SaturatingAdd<Output = T> + Clone,
source§fn saturating_add(self, c: T) -> <Xyz<Wp, T> as SaturatingAdd<T>>::Output
fn saturating_add(self, c: T) -> <Xyz<Wp, T> as SaturatingAdd<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<Wp, T> SaturatingAdd for Xyz<Wp, T>where
T: SaturatingAdd<Output = T>,
impl<Wp, T> SaturatingAdd for Xyz<Wp, T>where
T: SaturatingAdd<Output = T>,
source§impl<Wp, T> SaturatingSub<T> for Xyz<Wp, T>where
T: SaturatingSub<Output = T> + Clone,
impl<Wp, T> SaturatingSub<T> for Xyz<Wp, T>where
T: SaturatingSub<Output = T> + Clone,
source§fn saturating_sub(self, c: T) -> <Xyz<Wp, T> as SaturatingSub<T>>::Output
fn saturating_sub(self, c: T) -> <Xyz<Wp, T> as SaturatingSub<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<Wp, T> SaturatingSub for Xyz<Wp, T>where
T: SaturatingSub<Output = T>,
impl<Wp, T> SaturatingSub for Xyz<Wp, T>where
T: SaturatingSub<Output = T>,
source§impl<Wp, T> Serialize for Xyz<Wp, T>where
T: Serialize,
impl<Wp, T> Serialize for Xyz<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 Xyz<Wp, T>
impl<Wp, T> SubAssign<T> for Xyz<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 Xyz<Wp, T>where
T: SubAssign,
impl<Wp, T> SubAssign for Xyz<Wp, T>where
T: SubAssign,
source§fn sub_assign(&mut self, other: Xyz<Wp, T>)
fn sub_assign(&mut self, other: Xyz<Wp, T>)
-=
operation. Read moresource§impl<Wp, T> UlpsEq for Xyz<Wp, T>
impl<Wp, T> UlpsEq for Xyz<Wp, T>
source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
source§impl<T> WhitePointParameter<T> for Xyz<Any, T>
impl<T> WhitePointParameter<T> for Xyz<Any, T>
source§impl<Wp, T, _A> WithAlpha<_A> for Xyz<Wp, T>where
_A: Stimulus,
impl<Wp, T, _A> WithAlpha<_A> for Xyz<Wp, T>where
_A: Stimulus,
source§fn with_alpha(self, alpha: _A) -> <Xyz<Wp, T> as WithAlpha<_A>>::WithAlpha
fn with_alpha(self, alpha: _A) -> <Xyz<Wp, T> as WithAlpha<_A>>::WithAlpha
Self
already has a transparency, it is
overwritten. Read moresource§fn without_alpha(self) -> <Xyz<Wp, T> as WithAlpha<_A>>::Color
fn without_alpha(self) -> <Xyz<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) -> (<Xyz<Wp, T> as WithAlpha<_A>>::Color, _A)
fn split(self) -> (<Xyz<Wp, T> as WithAlpha<_A>>::Color, _A)
impl<Wp, T> Copy for Xyz<Wp, T>where
T: Copy,
impl<Wp, T> Eq for Xyz<Wp, T>where
T: Eq,
impl<Wp, T> StimulusColor for Xyz<Wp, T>where
T: Stimulus,
Auto Trait Implementations§
impl<Wp, T> Freeze for Xyz<Wp, T>where
T: Freeze,
impl<Wp, T> RefUnwindSafe for Xyz<Wp, T>where
T: RefUnwindSafe,
Wp: RefUnwindSafe,
impl<Wp, T> Send for Xyz<Wp, T>
impl<Wp, T> Sync for Xyz<Wp, T>
impl<Wp, T> Unpin for Xyz<Wp, T>
impl<Wp, T> UnwindSafe for Xyz<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, T, const N: usize> Blend for Cwhere
C: Premultiply<Scalar = T> + StimulusColor + ArrayCast<Array = [T; N]> + Clone,
T: Real + Zero + One + MinMax + Clamp + Sqrt + Abs + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<C, T, const N: usize> Blend for Cwhere
C: Premultiply<Scalar = T> + StimulusColor + ArrayCast<Array = [T; N]> + Clone,
T: Real + Zero + One + MinMax + Clamp + Sqrt + Abs + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§fn multiply(self, other: C) -> C
fn multiply(self, other: C) -> C
self
with other
. This uses the alpha component to regulate
the effect, so it’s not just plain component wise multiplication.source§fn overlay(self, other: C) -> C
fn overlay(self, other: C) -> C
self
or other
if other is dark, or screen them if other
is light. This results in an S curve.source§fn dodge(self, other: C) -> C
fn dodge(self, other: C) -> C
other
to reflect self
. Results in other
if self
is
black.source§fn hard_light(self, other: C) -> C
fn hard_light(self, other: C) -> C
self
or other
if other is dark, or screen them if self
is light. This is similar to overlay
, but depends on self
instead
of other
.source§fn soft_light(self, other: C) -> C
fn soft_light(self, other: C) -> C
other
if self
is light, or darken other
as if it’s burned
if self
is dark. The effect is increased if the components of self
is further from 0.5.source§fn difference(self, other: C) -> C
fn difference(self, other: C) -> C
self
and other
. It’s
basically abs(self - other)
, but regulated by the alpha component.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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> 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> 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> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.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