#[repr(C)]pub struct Hsl<S = Srgb, T = f32> {
pub hue: RgbHue<T>,
pub saturation: T,
pub lightness: T,
pub standard: PhantomData<S>,
}
Expand description
HSL color space.
The HSL color space can be seen as a cylindrical version of
RGB, where the hue
is the angle around the color
cylinder, the saturation
is the distance from the center, and the
lightness
is the height from the bottom. Its composition makes it
especially good for operations like changing green to red, making a color
more gray, or making it darker.
HSL component values are typically real numbers (such as floats), but may
also be converted to and from u8
for storage and interoperability
purposes. The hue is then within the range [0, 255]
.
use approx::assert_relative_eq;
use palette::Hsl;
let hsl_u8 = Hsl::new_srgb(128u8, 85, 51);
let hsl_f32 = hsl_u8.into_format::<f32>();
assert_relative_eq!(hsl_f32, Hsl::new(180.0, 1.0 / 3.0, 0.2));
See HSV for a very similar color space, with brightness instead of lightness.
Fields§
§hue: RgbHue<T>
The hue of the color, in degrees. Decides if it’s red, blue, purple, etc.
saturation: T
The colorfulness of the color. 0.0 gives gray scale colors and 1.0 will give absolutely clear colors.
lightness: T
Decides how light the color will look. 0.0 will be black, 0.5 will give a clear color, and 1.0 will give white.
standard: PhantomData<S>
The white point and RGB primaries this color is adapted to. The default is the sRGB standard.
Implementations§
source§impl<T> Hsl<Srgb, T>
impl<T> Hsl<Srgb, T>
sourcepub fn new_srgb<H>(hue: H, saturation: T, lightness: T) -> Hsl<Srgb, T>
pub fn new_srgb<H>(hue: H, saturation: T, lightness: T) -> Hsl<Srgb, T>
Create an sRGB HSL color. This method can be used instead of Hsl::new
to help type inference.
sourcepub const fn new_srgb_const(
hue: RgbHue<T>,
saturation: T,
lightness: T,
) -> Hsl<Srgb, T>
pub const fn new_srgb_const( hue: RgbHue<T>, saturation: T, lightness: T, ) -> Hsl<Srgb, T>
Create an sRGB HSL color. This is the same as Hsl::new_srgb
without
the generic hue type. It’s temporary until const fn
supports traits.
source§impl<S, T> Hsl<S, T>
impl<S, T> Hsl<S, T>
sourcepub const fn new_const(hue: RgbHue<T>, saturation: T, lightness: T) -> Hsl<S, T>
pub const fn new_const(hue: RgbHue<T>, saturation: T, lightness: T) -> Hsl<S, T>
Create an HSL color. This is the same as Hsl::new
without the generic
hue type. It’s temporary until const fn
supports traits.
sourcepub fn into_format<U>(self) -> Hsl<S, U>where
U: FromStimulus<T> + FromAngle<T>,
pub fn into_format<U>(self) -> Hsl<S, U>where
U: FromStimulus<T> + FromAngle<T>,
Convert into another component type.
sourcepub fn from_format<U>(color: Hsl<S, U>) -> Hsl<S, T>where
T: FromStimulus<U> + FromAngle<U>,
pub fn from_format<U>(color: Hsl<S, U>) -> Hsl<S, T>where
T: FromStimulus<U> + FromAngle<U>,
Convert from another component type.
sourcepub fn into_components(self) -> (RgbHue<T>, T, T)
pub fn into_components(self) -> (RgbHue<T>, T, T)
Convert to a (hue, saturation, lightness)
tuple.
source§impl<S, T> Hsl<S, T>where
T: Stimulus,
impl<S, T> Hsl<S, T>where
T: Stimulus,
sourcepub fn min_saturation() -> T
pub fn min_saturation() -> T
Return the saturation
value minimum.
sourcepub fn max_saturation() -> T
pub fn max_saturation() -> T
Return the saturation
value maximum.
sourcepub fn min_lightness() -> T
pub fn min_lightness() -> T
Return the lightness
value minimum.
sourcepub fn max_lightness() -> T
pub fn max_lightness() -> T
Return the lightness
value maximum.
source§impl<S, C> Hsl<S, C>
impl<S, C> Hsl<S, C>
sourcepub fn iter<'a>(&'a self) -> <&'a Hsl<S, C> as IntoIterator>::IntoIterwhere
&'a Hsl<S, C>: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Hsl<S, C> as IntoIterator>::IntoIterwhere
&'a Hsl<S, C>: IntoIterator,
Return an iterator over the colors in the wrapped collections.
sourcepub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Hsl<S, C> as IntoIterator>::IntoIterwhere
&'a mut Hsl<S, C>: IntoIterator,
pub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Hsl<S, C> as IntoIterator>::IntoIterwhere
&'a mut Hsl<S, 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<Hsl<S, &'a <I as SliceIndex<[T]>>::Output>>
pub fn get<'a, I, T>( &'a self, index: I, ) -> Option<Hsl<S, &'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<Hsl<S, &'a mut <I as SliceIndex<[T]>>::Output>>
pub fn get_mut<'a, I, T>( &'a mut self, index: I, ) -> Option<Hsl<S, &'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<S, T> Hsl<S, Vec<T>>
impl<S, T> Hsl<S, Vec<T>>
sourcepub fn with_capacity(capacity: usize) -> Hsl<S, Vec<T>>
pub fn with_capacity(capacity: usize) -> Hsl<S, Vec<T>>
Create a struct of vectors with a minimum capacity. See Vec::with_capacity
for details.
sourcepub fn push(&mut self, value: Hsl<S, T>)
pub fn push(&mut self, value: Hsl<S, T>)
Push an additional color’s components onto the component vectors. See Vec::push
for details.
sourcepub fn pop(&mut self) -> Option<Hsl<S, T>>
pub fn pop(&mut self) -> Option<Hsl<S, 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<S, T> AbsDiffEq for Hsl<S, T>
impl<S, T> AbsDiffEq for Hsl<S, T>
source§fn default_epsilon() -> <Hsl<S, T> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Hsl<S, T> as AbsDiffEq>::Epsilon
source§fn abs_diff_eq(
&self,
other: &Hsl<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Hsl<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn abs_diff_ne(
&self,
other: &Hsl<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_ne( &self, other: &Hsl<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
AbsDiffEq::abs_diff_eq
.source§impl<S, T> AddAssign<T> for Hsl<S, T>
impl<S, T> AddAssign<T> for Hsl<S, T>
source§fn add_assign(&mut self, c: T)
fn add_assign(&mut self, c: T)
+=
operation. Read moresource§impl<S, T> AddAssign for Hsl<S, T>where
T: AddAssign,
impl<S, T> AddAssign for Hsl<S, T>where
T: AddAssign,
source§fn add_assign(&mut self, other: Hsl<S, T>)
fn add_assign(&mut self, other: Hsl<S, T>)
+=
operation. Read moresource§impl<S, T> ClampAssign for Hsl<S, T>where
T: ClampAssign + Stimulus,
impl<S, T> ClampAssign for Hsl<S, T>where
T: ClampAssign + Stimulus,
source§fn clamp_assign(&mut self)
fn clamp_assign(&mut self)
source§impl<'de, S, T> Deserialize<'de> for Hsl<S, T>where
T: Deserialize<'de>,
impl<'de, S, T> Deserialize<'de> for Hsl<S, T>where
T: Deserialize<'de>,
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hsl<S, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hsl<S, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl<S, T, C> Extend<Hsl<S, T>> for Hsl<S, C>where
C: Extend<T>,
impl<S, T, C> Extend<Hsl<S, T>> for Hsl<S, C>where
C: Extend<T>,
source§fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Hsl<S, T>>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Hsl<S, 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<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hsl<S, T>where
_C: IntoColorUnclamped<Hsl<S, T>>,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hsl<S, T>where
_C: IntoColorUnclamped<Hsl<S, T>>,
source§impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hsv<S, T>where
T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hsv<S, T>where
T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hwb<S, T>
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Hsl<S, T>> for Rgb<S, T>where
T: Real + RealAngle + UnsignedAngle + Zero + One + Abs + Round + PartialCmp + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + BitOps + Clone,
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Rgb<S, T>where
T: Real + RealAngle + UnsignedAngle + Zero + One + Abs + Round + PartialCmp + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + BitOps + Clone,
source§impl<S1, S2, T> FromColorUnclamped<Hsl<S1, T>> for Hsl<S2, T>where
S1: RgbStandard + 'static,
S2: RgbStandard + 'static,
<S1 as RgbStandard>::Space: RgbSpace<WhitePoint = <<S2 as RgbStandard>::Space as RgbSpace>::WhitePoint>,
Rgb<S1, T>: FromColorUnclamped<Hsl<S1, T>>,
Rgb<S2, T>: FromColorUnclamped<Rgb<S1, T>>,
Hsl<S2, T>: FromColorUnclamped<Rgb<S2, T>>,
impl<S1, S2, T> FromColorUnclamped<Hsl<S1, T>> for Hsl<S2, T>where
S1: RgbStandard + 'static,
S2: RgbStandard + 'static,
<S1 as RgbStandard>::Space: RgbSpace<WhitePoint = <<S2 as RgbStandard>::Space as RgbSpace>::WhitePoint>,
Rgb<S1, T>: FromColorUnclamped<Hsl<S1, T>>,
Rgb<S2, T>: FromColorUnclamped<Rgb<S1, T>>,
Hsl<S2, T>: FromColorUnclamped<Rgb<S2, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Hsluv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Hsluv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lab<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lab<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lch<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lch<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lch<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lch<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lchuv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lchuv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
source§impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Luv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Luv<Wp, T>>,
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsl<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Okhsl<T>>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsl<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Okhsl<T>>,
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsv<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Okhsv<T>>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsv<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Okhsv<T>>,
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhwb<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Okhwb<T>>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhwb<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Okhwb<T>>,
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklab<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Oklab<T>>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklab<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Oklab<T>>,
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklch<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Oklch<T>>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklch<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Oklch<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, _S> FromColorUnclamped<Hsl<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
source§impl<S, T> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
impl<S, T> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
source§fn from_color_unclamped(
color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
fn from_color_unclamped( color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Hsv<S, T>> for Hsl<S, T>where
T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Not<Output = <T as HasBoolMask>::Mask>,
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Hsl<S, T>where
T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Not<Output = <T as HasBoolMask>::Mask>,
source§impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsl<S, T>
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
source§fn from_color_unclamped(
color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
source§fn from_color_unclamped(
color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
fn from_color_unclamped( color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
source§fn from_color_unclamped(
color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
fn from_color_unclamped( color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
source§impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsl<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Hsl<S, T>>,
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsl<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Hsl<S, T>>,
source§impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsl<S, T>>,
source§fn from_color_unclamped(
color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
fn from_color_unclamped( color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Okhsl<T>> for Hsl<S, T>
impl<S, T> FromColorUnclamped<Okhsl<T>> for Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Okhsv<T>> for Hsl<S, T>
impl<S, T> FromColorUnclamped<Okhsv<T>> for Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Okhwb<T>> for Hsl<S, T>
impl<S, T> FromColorUnclamped<Okhwb<T>> for Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Oklab<T>> for Hsl<S, T>
impl<S, T> FromColorUnclamped<Oklab<T>> for Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Oklch<T>> for Hsl<S, T>
impl<S, T> FromColorUnclamped<Oklch<T>> for Hsl<S, T>
source§impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsl<S, T>where
T: RealAngle + Zero + One + MinMax + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: BoolMask + BitOps + LazySelect<T> + Clone + 'static,
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsl<S, T>where
T: RealAngle + Zero + One + MinMax + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: BoolMask + BitOps + LazySelect<T> + Clone + 'static,
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<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<Hsl<S, T>>,
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<Hsl<S, T>>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsl<S, T>
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsl<S, T>
source§impl<S, T, C> FromIterator<Hsl<S, T>> for Hsl<S, C>
impl<S, T, C> FromIterator<Hsl<S, T>> for Hsl<S, C>
source§impl<S, T> HasBoolMask for Hsl<S, T>where
T: HasBoolMask,
impl<S, T> HasBoolMask for Hsl<S, T>where
T: HasBoolMask,
source§type Mask = <T as HasBoolMask>::Mask
type Mask = <T as HasBoolMask>::Mask
Self
values.source§impl<'a, 'b, S, T> IntoIterator for &'a Hsl<S, &'b [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Hsl<S, &'b [T]>
source§impl<'a, 'b, S, T> IntoIterator for &'a Hsl<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Hsl<S, &'b mut [T]>
source§impl<'a, S, T> IntoIterator for &'a Hsl<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a Hsl<S, Vec<T>>
source§impl<'a, 'b, S, T> IntoIterator for &'a mut Hsl<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a mut Hsl<S, &'b mut [T]>
source§impl<'a, S, T> IntoIterator for &'a mut Hsl<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a mut Hsl<S, Vec<T>>
source§impl<'a, S, T> IntoIterator for Hsl<S, &'a [T]>
impl<'a, S, T> IntoIterator for Hsl<S, &'a [T]>
source§impl<'a, S, T> IntoIterator for Hsl<S, &'a mut [T]>
impl<'a, S, T> IntoIterator for Hsl<S, &'a mut [T]>
source§impl<S, T> IntoIterator for Hsl<S, Vec<T>>
impl<S, T> IntoIterator for Hsl<S, Vec<T>>
source§impl<S, T> IsWithinBounds for Hsl<S, T>where
T: PartialCmp + Stimulus,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
impl<S, T> IsWithinBounds for Hsl<S, T>where
T: PartialCmp + Stimulus,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
source§fn is_within_bounds(&self) -> <T as HasBoolMask>::Mask
fn is_within_bounds(&self) -> <T as HasBoolMask>::Mask
source§impl<S, T> Lighten for Hsl<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> Lighten for Hsl<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§impl<S, T> LightenAssign for Hsl<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> LightenAssign for Hsl<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§fn lighten_assign(&mut self, factor: T)
fn lighten_assign(&mut self, factor: T)
source§fn lighten_fixed_assign(&mut self, amount: T)
fn lighten_fixed_assign(&mut self, amount: T)
source§impl<S, T> RelativeContrast for Hsl<S, T>where
T: Real + Arithmetics + PartialCmp,
<T as HasBoolMask>::Mask: LazySelect<T>,
S: RgbStandard,
Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>: FromColor<Hsl<S, T>>,
impl<S, T> RelativeContrast for Hsl<S, T>where
T: Real + Arithmetics + PartialCmp,
<T as HasBoolMask>::Mask: LazySelect<T>,
S: RgbStandard,
Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>: FromColor<Hsl<S, T>>,
source§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrast
source§fn get_contrast_ratio(self, other: Hsl<S, T>) -> T
fn get_contrast_ratio(self, other: Hsl<S, 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<S, T> RelativeEq for Hsl<S, T>where
T: RelativeEq,
<T as AbsDiffEq>::Epsilon: Clone,
RgbHue<T>: RelativeEq<Epsilon = <T as AbsDiffEq>::Epsilon> + AbsDiffEq,
impl<S, T> RelativeEq for Hsl<S, T>where
T: RelativeEq,
<T as AbsDiffEq>::Epsilon: Clone,
RgbHue<T>: RelativeEq<Epsilon = <T as AbsDiffEq>::Epsilon> + AbsDiffEq,
source§fn default_max_relative() -> <T as AbsDiffEq>::Epsilon
fn default_max_relative() -> <T as AbsDiffEq>::Epsilon
source§fn relative_eq(
&self,
other: &Hsl<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Hsl<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn relative_ne(
&self,
other: &Hsl<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_ne( &self, other: &Hsl<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
RelativeEq::relative_eq
.source§impl<S, T> Saturate for Hsl<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> Saturate for Hsl<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§impl<S, T> SaturateAssign for Hsl<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> SaturateAssign for Hsl<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§fn saturate_assign(&mut self, factor: T)
fn saturate_assign(&mut self, factor: T)
factor
, a value
ranging from 0.0
to 1.0
. Read moresource§fn saturate_fixed_assign(&mut self, amount: T)
fn saturate_fixed_assign(&mut self, amount: T)
source§impl<S, T> SaturatingAdd<T> for Hsl<S, T>where
T: SaturatingAdd<Output = T> + Clone,
impl<S, T> SaturatingAdd<T> for Hsl<S, T>where
T: SaturatingAdd<Output = T> + Clone,
source§fn saturating_add(self, c: T) -> <Hsl<S, T> as SaturatingAdd<T>>::Output
fn saturating_add(self, c: T) -> <Hsl<S, T> as SaturatingAdd<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<S, T> SaturatingAdd for Hsl<S, T>where
T: SaturatingAdd<Output = T>,
impl<S, T> SaturatingAdd for Hsl<S, T>where
T: SaturatingAdd<Output = T>,
source§impl<S, T> SaturatingSub<T> for Hsl<S, T>where
T: SaturatingSub<Output = T> + Clone,
impl<S, T> SaturatingSub<T> for Hsl<S, T>where
T: SaturatingSub<Output = T> + Clone,
source§fn saturating_sub(self, c: T) -> <Hsl<S, T> as SaturatingSub<T>>::Output
fn saturating_sub(self, c: T) -> <Hsl<S, T> as SaturatingSub<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<S, T> SaturatingSub for Hsl<S, T>where
T: SaturatingSub<Output = T>,
impl<S, T> SaturatingSub for Hsl<S, T>where
T: SaturatingSub<Output = T>,
source§impl<S, T> Serialize for Hsl<S, T>where
T: Serialize,
impl<S, T> Serialize for Hsl<S, 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<S, T> ShiftHueAssign for Hsl<S, T>where
T: AddAssign,
impl<S, T> ShiftHueAssign for Hsl<S, T>where
T: AddAssign,
source§fn shift_hue_assign(&mut self, amount: <Hsl<S, T> as ShiftHueAssign>::Scalar)
fn shift_hue_assign(&mut self, amount: <Hsl<S, T> as ShiftHueAssign>::Scalar)
amount
.source§impl<S, T> SubAssign<T> for Hsl<S, T>
impl<S, T> SubAssign<T> for Hsl<S, T>
source§fn sub_assign(&mut self, c: T)
fn sub_assign(&mut self, c: T)
-=
operation. Read moresource§impl<S, T> SubAssign for Hsl<S, T>where
T: SubAssign,
impl<S, T> SubAssign for Hsl<S, T>where
T: SubAssign,
source§fn sub_assign(&mut self, other: Hsl<S, T>)
fn sub_assign(&mut self, other: Hsl<S, T>)
-=
operation. Read moresource§impl<S, T> UlpsEq for Hsl<S, T>
impl<S, T> UlpsEq for Hsl<S, T>
source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
source§impl<S, T, _A> WithAlpha<_A> for Hsl<S, T>where
_A: Stimulus,
impl<S, T, _A> WithAlpha<_A> for Hsl<S, T>where
_A: Stimulus,
source§fn with_alpha(self, alpha: _A) -> <Hsl<S, T> as WithAlpha<_A>>::WithAlpha
fn with_alpha(self, alpha: _A) -> <Hsl<S, T> as WithAlpha<_A>>::WithAlpha
Self
already has a transparency, it is
overwritten. Read moresource§fn without_alpha(self) -> <Hsl<S, T> as WithAlpha<_A>>::Color
fn without_alpha(self) -> <Hsl<S, 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) -> (<Hsl<S, T> as WithAlpha<_A>>::Color, _A)
fn split(self) -> (<Hsl<S, T> as WithAlpha<_A>>::Color, _A)
impl<S, T> Copy for Hsl<S, T>where
T: Copy,
impl<S, T> Eq for Hsl<S, T>
Auto Trait Implementations§
impl<S, T> Freeze for Hsl<S, T>where
T: Freeze,
impl<S, T> RefUnwindSafe for Hsl<S, T>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, T> Send for Hsl<S, T>
impl<S, T> Sync for Hsl<S, T>
impl<S, T> Unpin for Hsl<S, T>
impl<S, T> UnwindSafe for Hsl<S, T>where
T: UnwindSafe,
S: 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<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<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