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: Into<RgbHue<T>>>(hue: H, saturation: T, lightness: T) -> Self
pub fn new_srgb<H: Into<RgbHue<T>>>(hue: H, saturation: T, lightness: T) -> Self
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) -> Self
pub const fn new_srgb_const(hue: RgbHue<T>, saturation: T, lightness: T) -> Self
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 fn new<H: Into<RgbHue<T>>>(hue: H, saturation: T, lightness: T) -> Self
pub fn new<H: Into<RgbHue<T>>>(hue: H, saturation: T, lightness: T) -> Self
Create an HSL color.
sourcepub const fn new_const(hue: RgbHue<T>, saturation: T, lightness: T) -> Self
pub const fn new_const(hue: RgbHue<T>, saturation: T, lightness: T) -> Self
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>) -> Selfwhere
T: FromStimulus<U> + FromAngle<U>,
pub fn from_format<U>(color: Hsl<S, U>) -> Selfwhere 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.
sourcepub fn from_components<H: Into<RgbHue<T>>>(
(hue, saturation, lightness): (H, T, T)
) -> Self
pub fn from_components<H: Into<RgbHue<T>>>( (hue, saturation, lightness): (H, T, T) ) -> Self
Convert from 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 Self as IntoIterator>::IntoIterwhere
&'a Self: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Self as IntoIterator>::IntoIterwhere &'a Self: IntoIterator,
Return an iterator over the colors in the wrapped collections.
sourcepub fn iter_mut<'a>(&'a mut self) -> <&'a mut Self as IntoIterator>::IntoIterwhere
&'a mut Self: IntoIterator,
pub fn iter_mut<'a>(&'a mut self) -> <&'a mut Self as IntoIterator>::IntoIterwhere &'a mut Self: IntoIterator,
Return an iterator that allows modifying the colors in the wrapped collections.
sourcepub fn get<'a, I, T>(
&'a self,
index: I
) -> Option<Hsl<S, &<I as SliceIndex<[T]>>::Output>>where
T: 'a,
C: AsRef<[T]>,
I: SliceIndex<[T]> + Clone,
pub fn get<'a, I, T>( &'a self, index: I ) -> Option<Hsl<S, &<I as SliceIndex<[T]>>::Output>>where T: 'a, C: AsRef<[T]>, I: SliceIndex<[T]> + Clone,
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, &mut <I as SliceIndex<[T]>>::Output>>where
T: 'a,
C: AsMut<[T]>,
I: SliceIndex<[T]> + Clone,
pub fn get_mut<'a, I, T>( &'a mut self, index: I ) -> Option<Hsl<S, &mut <I as SliceIndex<[T]>>::Output>>where T: 'a, C: AsMut<[T]>, I: SliceIndex<[T]> + Clone,
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) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create a struct of vectors with a minimum capacity. See Vec::with_capacity
for details.
sourcepub fn push(&mut self, value: 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<Hsl<S, T>> for Hsl<S, T>where
T: AbsDiffEq,
T::Epsilon: Clone,
RgbHue<T>: AbsDiffEq<Epsilon = T::Epsilon>,
impl<S, T> AbsDiffEq<Hsl<S, T>> for Hsl<S, T>where T: AbsDiffEq, T::Epsilon: Clone, RgbHue<T>: AbsDiffEq<Epsilon = T::Epsilon>,
source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
source§fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool
source§fn abs_diff_ne(&self, other: &Self, epsilon: T::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Self, epsilon: T::Epsilon) -> bool
AbsDiffEq::abs_diff_eq
.source§impl<S, T> AddAssign<Hsl<S, T>> for Hsl<S, T>where
T: AddAssign,
impl<S, T> AddAssign<Hsl<S, T>> for Hsl<S, T>where T: AddAssign,
source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+=
operation. Read moresource§impl<S, T> AddAssign<T> for Hsl<S, T>where
T: AddAssign + Clone,
impl<S, T> AddAssign<T> for Hsl<S, T>where T: AddAssign + Clone,
source§fn add_assign(&mut self, c: T)
fn add_assign(&mut self, c: T)
+=
operation. Read moresource§impl<S, T> ClampAssign for Hsl<S, T>where
T: Stimulus + ClampAssign,
impl<S, T> ClampAssign for Hsl<S, T>where T: Stimulus + ClampAssign,
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<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl<S, T> Distribution<Hsl<S, T>> for Standardwhere
T: Real + One + Cbrt + Sqrt + Arithmetics + PartialCmp + Clone,
T::Mask: LazySelect<T> + Clone,
Standard: Distribution<T> + Distribution<RgbHue<T>>,
impl<S, T> Distribution<Hsl<S, T>> for Standardwhere T: Real + One + Cbrt + Sqrt + Arithmetics + PartialCmp + Clone, T::Mask: LazySelect<T> + Clone, Standard: Distribution<T> + Distribution<RgbHue<T>>,
source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Hsl<S, T>
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Hsl<S, T>
T
, using rng
as the source of randomness.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: IntoIterator<Item = Hsl<S, T>>>(&mut self, iter: I)
fn extend<I: IntoIterator<Item = Hsl<S, T>>>(&mut self, iter: I)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl<S, T, V, const N: usize> From<[Hsl<S, T>; N]> for Hsl<S, V>where
[T; N]: Default,
V: FromScalarArray<N, Scalar = T>,
impl<S, T, V, const N: usize> From<[Hsl<S, T>; N]> for Hsl<S, V>where [T; N]: Default, V: FromScalarArray<N, Scalar = T>,
source§impl<S, T, V, const N: usize> From<Hsl<S, V>> for [Hsl<S, T>; N]where
Self: Default,
V: IntoScalarArray<N, Scalar = T>,
impl<S, T, V, const N: usize> From<Hsl<S, V>> for [Hsl<S, T>; N]where Self: Default, V: IntoScalarArray<N, Scalar = T>,
source§impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hsl<S, T>where
_C: IntoColorUnclamped<Self>,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hsl<S, T>where _C: IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Alpha<_C, _A>) -> Self
fn from_color_unclamped(color: Alpha<_C, _A>) -> Self
source§impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hsv<S, T>where
T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone,
T::Mask: LazySelect<T>,
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hsv<S, T>where T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone, T::Mask: LazySelect<T>,
source§fn from_color_unclamped(hsl: Hsl<S, T>) -> Self
fn from_color_unclamped(hsl: Hsl<S, T>) -> Self
source§impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hwb<S, T>where
Hsv<S, T>: FromColorUnclamped<Hsl<S, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hwb<S, T>where Hsv<S, T>: FromColorUnclamped<Hsl<S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<S, T>) -> Self
fn from_color_unclamped(color: Hsl<S, T>) -> Self
source§impl<S, T> FromColorUnclamped<Hsl<S, T>> for Rgb<S, T>where
T: Real + RealAngle + UnsignedAngle + Zero + One + Abs + Round + PartialCmp + Arithmetics + Clone,
T::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::Mask: LazySelect<T> + BitOps + Clone,
source§fn from_color_unclamped(hsl: Hsl<S, T>) -> Self
fn from_color_unclamped(hsl: Hsl<S, T>) -> Self
source§impl<S1, S2, T> FromColorUnclamped<Hsl<S1, T>> for Hsl<S2, T>where
S1: RgbStandard + 'static,
S2: RgbStandard + 'static,
S1::Space: RgbSpace<WhitePoint = <S2::Space as RgbSpace>::WhitePoint>,
Rgb<S1, T>: FromColorUnclamped<Hsl<S1, T>>,
Rgb<S2, T>: FromColorUnclamped<Rgb<S1, T>>,
Self: FromColorUnclamped<Rgb<S2, T>>,
impl<S1, S2, T> FromColorUnclamped<Hsl<S1, T>> for Hsl<S2, T>where S1: RgbStandard + 'static, S2: RgbStandard + 'static, S1::Space: RgbSpace<WhitePoint = <S2::Space as RgbSpace>::WhitePoint>, Rgb<S1, T>: FromColorUnclamped<Hsl<S1, T>>, Rgb<S2, T>: FromColorUnclamped<Rgb<S1, T>>, Self: FromColorUnclamped<Rgb<S2, T>>,
source§fn from_color_unclamped(hsl: Hsl<S1, T>) -> Self
fn from_color_unclamped(hsl: Hsl<S1, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Hsluv<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Hsluv<Wp, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = Wp>, Wp: WhitePoint<T>, Lchuv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lab<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lab<Wp, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = Wp>, Wp: WhitePoint<T>, Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lch<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lch<Wp, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = Wp>, Wp: WhitePoint<T>, Lab<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lchuv<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Lchuv<Wp, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = Wp>, Wp: WhitePoint<T>, Luv<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>, S: LumaStandard, Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luv<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luv<Wp, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = Wp>, Wp: WhitePoint<T>, Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsl<T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsl<T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = D65>, D65: WhitePoint<T>, Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsv<T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhsv<T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = D65>, D65: WhitePoint<T>, Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhwb<T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Okhwb<T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = D65>, D65: WhitePoint<T>, Okhsv<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklab<T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklab<T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = D65>, D65: WhitePoint<T>, Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklch<T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Hsl<_S, T>> for Oklch<T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = D65>, D65: WhitePoint<T>, Oklab<T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Xyz<Wp, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = Wp>, Wp: WhitePoint<T>, Rgb<_S, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Hsl<_S, T>> for Yxy<Wp, T>where _S: RgbStandard, _S::Space: RgbSpace<WhitePoint = Wp>, Wp: WhitePoint<T>, Xyz<Wp, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
source§impl<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<Self>,
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<Self>,
source§fn from_color_unclamped(
color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T> FromColorUnclamped<Hsv<S, T>> for Hsl<S, T>where
T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone,
T::Mask: LazySelect<T> + Not<Output = T::Mask>,
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Hsl<S, T>where T: Real + Zero + One + IsValidDivisor + Arithmetics + PartialCmp + Clone, T::Mask: LazySelect<T> + Not<Output = T::Mask>,
source§fn from_color_unclamped(hsv: Hsv<S, T>) -> Self
fn from_color_unclamped(hsv: Hsv<S, T>) -> Self
source§impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsl<S, T>where
Hsv<S, T>: FromColorUnclamped<Hwb<S, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsl<S, T>where Hsv<S, T>: FromColorUnclamped<Hwb<S, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Hwb<S, T>) -> Self
fn from_color_unclamped(color: Hwb<S, T>) -> Self
source§impl<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<Self>,
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<Self>,
source§fn from_color_unclamped(
color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
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<Self>,
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<Self>,
source§fn from_color_unclamped(
color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
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<Self>,
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<Self>,
source§fn from_color_unclamped(
color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
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<Self>,
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<Self>,
source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
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<Self>,
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<Self>,
source§fn from_color_unclamped(
color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T> FromColorUnclamped<Okhsl<T>> for Hsl<S, T>where
Rgb<S, T>: FromColorUnclamped<Okhsl<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Okhsl<T>> for Hsl<S, T>where Rgb<S, T>: FromColorUnclamped<Okhsl<T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Okhsl<T>) -> Self
fn from_color_unclamped(color: Okhsl<T>) -> Self
source§impl<S, T> FromColorUnclamped<Okhsv<T>> for Hsl<S, T>where
Rgb<S, T>: FromColorUnclamped<Okhsv<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Okhsv<T>> for Hsl<S, T>where Rgb<S, T>: FromColorUnclamped<Okhsv<T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Okhsv<T>) -> Self
fn from_color_unclamped(color: Okhsv<T>) -> Self
source§impl<S, T> FromColorUnclamped<Okhwb<T>> for Hsl<S, T>where
Rgb<S, T>: FromColorUnclamped<Okhwb<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Okhwb<T>> for Hsl<S, T>where Rgb<S, T>: FromColorUnclamped<Okhwb<T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Okhwb<T>) -> Self
fn from_color_unclamped(color: Okhwb<T>) -> Self
source§impl<S, T> FromColorUnclamped<Oklab<T>> for Hsl<S, T>where
Rgb<S, T>: FromColorUnclamped<Oklab<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Oklab<T>> for Hsl<S, T>where Rgb<S, T>: FromColorUnclamped<Oklab<T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Oklab<T>) -> Self
fn from_color_unclamped(color: Oklab<T>) -> Self
source§impl<S, T> FromColorUnclamped<Oklch<T>> for Hsl<S, T>where
Rgb<S, T>: FromColorUnclamped<Oklch<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Oklch<T>> for Hsl<S, T>where Rgb<S, T>: FromColorUnclamped<Oklch<T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(color: Oklch<T>) -> Self
fn from_color_unclamped(color: Oklch<T>) -> Self
source§impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsl<S, T>where
T: RealAngle + Zero + One + MinMax + Arithmetics + PartialCmp + Clone,
T::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::Mask: BoolMask + BitOps + LazySelect<T> + Clone + 'static,
source§fn from_color_unclamped(rgb: Rgb<S, T>) -> Self
fn from_color_unclamped(rgb: Rgb<S, T>) -> Self
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<Self>,
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<Self>,
source§fn from_color_unclamped(
color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsl<S, T>where S: RgbStandard, Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Self>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>
) -> Self
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T> ) -> Self
source§impl<S, T, C> FromIterator<Hsl<S, T>> for Hsl<S, C>where
Self: Extend<Hsl<S, T>>,
C: Default,
impl<S, T, C> FromIterator<Hsl<S, T>> for Hsl<S, C>where Self: Extend<Hsl<S, T>>, C: Default,
source§impl<S, T> HasBoolMask for Hsl<S, T>where
T: HasBoolMask,
impl<S, T> HasBoolMask for Hsl<S, T>where T: HasBoolMask,
§type Mask = <T as HasBoolMask>::Mask
type Mask = <T as HasBoolMask>::Mask
Self
values.source§impl<'a, S, C> IntoIterator for &'a Hsl<S, C>where
&'a C: IntoIterator + 'a,
impl<'a, S, C> IntoIterator for &'a Hsl<S, C>where &'a C: IntoIterator + 'a,
source§impl<'a, S, C> IntoIterator for &'a mut Hsl<S, C>where
&'a mut C: IntoIterator + 'a,
impl<'a, S, C> IntoIterator for &'a mut Hsl<S, C>where &'a mut C: IntoIterator + 'a,
source§impl<S, C> IntoIterator for Hsl<S, C>where
C: IntoIterator,
impl<S, C> IntoIterator for Hsl<S, C>where C: IntoIterator,
source§impl<S, T> IsWithinBounds for Hsl<S, T>where
T: PartialCmp + Stimulus,
T::Mask: BitAnd<Output = T::Mask>,
impl<S, T> IsWithinBounds for Hsl<S, T>where T: PartialCmp + Stimulus, T::Mask: BitAnd<Output = T::Mask>,
source§fn is_within_bounds(&self) -> T::Mask
fn is_within_bounds(&self) -> T::Mask
source§impl<S, T> Lighten for Hsl<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
impl<S, T> Lighten for Hsl<S, T>where T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus, T::Mask: LazySelect<T>,
source§impl<S, T> LightenAssign for Hsl<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
impl<S, T> LightenAssign for Hsl<S, T>where T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus, T::Mask: LazySelect<T>,
source§fn lighten_assign(&mut self, factor: T)
fn lighten_assign(&mut self, factor: T)
source§fn lighten_fixed_assign(&mut self, amount: T)
fn lighten_fixed_assign(&mut self, amount: T)
source§impl<S, T> Mix for Hsl<S, T>where
T: RealAngle + SignedAngle + Zero + One + Clamp + Arithmetics + Clone,
impl<S, T> Mix for Hsl<S, T>where T: RealAngle + SignedAngle + Zero + One + Clamp + Arithmetics + Clone,
source§impl<S, T> MixAssign for Hsl<S, T>where
T: RealAngle + SignedAngle + Zero + One + Clamp + AddAssign + Arithmetics + Clone,
impl<S, T> MixAssign for Hsl<S, T>where T: RealAngle + SignedAngle + Zero + One + Clamp + AddAssign + Arithmetics + Clone,
source§impl<S, T> PartialEq<Hsl<S, T>> for Hsl<S, T>where
T: PartialEq,
RgbHue<T>: PartialEq,
impl<S, T> PartialEq<Hsl<S, T>> for Hsl<S, T>where T: PartialEq, RgbHue<T>: PartialEq,
source§impl<S, T> RelativeContrast for Hsl<S, T>where
T: Real + Arithmetics + PartialCmp,
T::Mask: LazySelect<T>,
S: RgbStandard,
Xyz<<S::Space as RgbSpace>::WhitePoint, T>: FromColor<Self>,
impl<S, T> RelativeContrast for Hsl<S, T>where T: Real + Arithmetics + PartialCmp, T::Mask: LazySelect<T>, S: RgbStandard, Xyz<<S::Space as RgbSpace>::WhitePoint, T>: FromColor<Self>,
§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrast
source§fn get_contrast_ratio(self, other: Self) -> T
fn get_contrast_ratio(self, other: Self) -> T
palette::color_difference::Wcag21RelativeContrast
source§fn has_min_contrast_text(
self,
other: Self
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_text( self, other: Self ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrast
source§fn has_min_contrast_large_text(
self,
other: Self
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_large_text( self, other: Self ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrast
source§fn has_enhanced_contrast_text(
self,
other: Self
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_enhanced_contrast_text( self, other: Self ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrast
source§fn has_enhanced_contrast_large_text(
self,
other: Self
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_enhanced_contrast_large_text( self, other: Self ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrast
source§fn has_min_contrast_graphics(
self,
other: Self
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_graphics( self, other: Self ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrast
source§impl<S, T> RelativeEq<Hsl<S, T>> for Hsl<S, T>where
T: RelativeEq,
T::Epsilon: Clone,
RgbHue<T>: RelativeEq + AbsDiffEq<Epsilon = T::Epsilon>,
impl<S, T> RelativeEq<Hsl<S, T>> for Hsl<S, T>where T: RelativeEq, T::Epsilon: Clone, RgbHue<T>: RelativeEq + AbsDiffEq<Epsilon = T::Epsilon>,
source§fn default_max_relative() -> T::Epsilon
fn default_max_relative() -> T::Epsilon
source§fn relative_eq(
&self,
other: &Self,
epsilon: T::Epsilon,
max_relative: T::Epsilon
) -> bool
fn relative_eq( &self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon ) -> bool
source§fn relative_ne(
&self,
other: &Self,
epsilon: T::Epsilon,
max_relative: T::Epsilon
) -> bool
fn relative_ne( &self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon ) -> bool
RelativeEq::relative_eq
.source§impl<S, T> SampleUniform for Hsl<S, T>where
T: Real + One + Cbrt + Sqrt + Powi + Arithmetics + PartialCmp + Clone + SampleUniform,
T::Mask: LazySelect<T> + Clone,
RgbHue<T>: SampleBorrow<RgbHue<T>>,
UniformRgbHue<T>: UniformSampler<X = RgbHue<T>>,
impl<S, T> SampleUniform for Hsl<S, T>where T: Real + One + Cbrt + Sqrt + Powi + Arithmetics + PartialCmp + Clone + SampleUniform, T::Mask: LazySelect<T> + Clone, RgbHue<T>: SampleBorrow<RgbHue<T>>, UniformRgbHue<T>: UniformSampler<X = RgbHue<T>>,
§type Sampler = UniformHsl<S, T>
type Sampler = UniformHsl<S, T>
UniformSampler
implementation supporting type X
.source§impl<S, T> Saturate for Hsl<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
impl<S, T> Saturate for Hsl<S, T>where T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus, T::Mask: LazySelect<T>,
source§impl<S, T> SaturateAssign for Hsl<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
impl<S, T> SaturateAssign for Hsl<S, T>where T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus, T::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<Hsl<S, T>> for Hsl<S, T>where
T: SaturatingAdd<Output = T>,
impl<S, T> SaturatingAdd<Hsl<S, T>> for Hsl<S, T>where T: SaturatingAdd<Output = 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§impl<S, T> SaturatingSub<Hsl<S, T>> for Hsl<S, T>where
T: SaturatingSub<Output = T>,
impl<S, T> SaturatingSub<Hsl<S, T>> for Hsl<S, T>where T: SaturatingSub<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§impl<S, T> ShiftHueAssign for Hsl<S, T>where
T: AddAssign,
impl<S, T> ShiftHueAssign for Hsl<S, T>where T: AddAssign,
source§impl<S, T> SubAssign<Hsl<S, T>> for Hsl<S, T>where
T: SubAssign,
impl<S, T> SubAssign<Hsl<S, T>> for Hsl<S, T>where T: SubAssign,
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-=
operation. Read moresource§impl<S, T> SubAssign<T> for Hsl<S, T>where
T: SubAssign + Clone,
impl<S, T> SubAssign<T> for Hsl<S, T>where T: SubAssign + Clone,
source§fn sub_assign(&mut self, c: T)
fn sub_assign(&mut self, c: T)
-=
operation. Read moresource§impl<S, T> UlpsEq<Hsl<S, T>> for Hsl<S, T>where
T: UlpsEq,
T::Epsilon: Clone,
RgbHue<T>: UlpsEq + AbsDiffEq<Epsilon = T::Epsilon>,
impl<S, T> UlpsEq<Hsl<S, T>> for Hsl<S, T>where T: UlpsEq, T::Epsilon: Clone, RgbHue<T>: UlpsEq + AbsDiffEq<Epsilon = T::Epsilon>,
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) -> Self::WithAlpha
fn with_alpha(self, alpha: _A) -> Self::WithAlpha
Self
already has a transparency, it is
overwritten. Read moresource§fn without_alpha(self) -> Self::Color
fn without_alpha(self) -> Self::Color
Self::Color
has
an internal transparency field, that field will be set to
A::max_intensity()
to make it opaque. Read moresource§fn split(self) -> (Self::Color, _A)
fn split(self) -> (Self::Color, _A)
impl<S, T: Copy> Copy for Hsl<S, T>
impl<S, T> Eq for Hsl<S, T>where T: Eq, RgbHue<T>: Eq,
impl<S: 'static, T> Pod for Hsl<S, T>where T: Pod,
Auto Trait Implementations§
impl<S, T> RefUnwindSafe for Hsl<S, T>where S: RefUnwindSafe, T: RefUnwindSafe,
impl<S, T> Send for Hsl<S, T>where S: Send, T: Send,
impl<S, T> Sync for Hsl<S, T>where S: Sync, T: Sync,
impl<S, T> Unpin for Hsl<S, T>where S: Unpin, T: Unpin,
impl<S, T> UnwindSafe for Hsl<S, T>where S: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for Dwhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
S: IntoColorUnclamped<Xyz<Swp, T>>,
D: FromColorUnclamped<Xyz<Dwp, T>>,
impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for Dwhere T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, S: IntoColorUnclamped<Xyz<Swp, T>>, D: FromColorUnclamped<Xyz<Dwp, T>>,
source§fn adapt_from_using<M>(color: S, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_from_using<M>(color: S, method: M) -> Dwhere M: TransformMatrix<T>,
source§fn adapt_from(color: S) -> Self
fn adapt_from(color: S) -> Self
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere M: TransformMatrix<T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
source§impl<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<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
source§impl<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 Twhere
T: FromColor<U> + ArrayCast + Clone,
U: FromColor<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
impl<T, U> FromColorMut<U> for Twhere T: FromColor<U> + ArrayCast + Clone, U: FromColor<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
source§fn from_color_mut(color: &mut U) -> FromColorMutGuard<'_, T, U>
fn from_color_mut(color: &mut U) -> FromColorMutGuard<'_, T, U>
source§impl<T, U> FromColorUnclampedMut<U> for Twhere
T: FromColorUnclamped<U> + ArrayCast + Clone,
U: FromColorUnclamped<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
impl<T, U> FromColorUnclampedMut<U> for Twhere T: FromColorUnclamped<U> + ArrayCast + Clone, U: FromColorUnclamped<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
source§fn from_color_unclamped_mut(
color: &mut U
) -> FromColorUnclampedMutGuard<'_, T, U>
fn from_color_unclamped_mut( color: &mut U ) -> FromColorUnclampedMutGuard<'_, T, U>
source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.source§impl<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 Uwhere
T: FromColorMut<U> + ?Sized,
U: FromColorMut<T> + ?Sized,
impl<T, U> IntoColorMut<T> for Uwhere T: FromColorMut<U> + ?Sized, U: FromColorMut<T> + ?Sized,
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 Uwhere
T: FromColorUnclampedMut<U> + ?Sized,
U: FromColorUnclampedMut<T> + ?Sized,
impl<T, U> IntoColorUnclampedMut<T> for Uwhere T: FromColorUnclampedMut<U> + ?Sized, U: FromColorUnclampedMut<T> + ?Sized,
source§fn into_color_unclamped_mut(&mut self) -> FromColorUnclampedMutGuard<'_, T, U>
fn into_color_unclamped_mut(&mut self) -> FromColorUnclampedMutGuard<'_, T, U>
source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.source§impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere Borrowed: SampleUniform,
source§fn borrow(&self) -> &Borrowed
fn borrow(&self) -> &Borrowed
Borrow::borrow
source§impl<'a, T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<'a, T, C> TryComponentsInto<C> for Twhere C: TryFromComponents<T>,
§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
source§impl<T, U> TryFromColor<T> for Uwhere
U: FromColorUnclamped<T> + IsWithinBounds<Mask = bool>,
impl<T, U> TryFromColor<T> for Uwhere U: FromColorUnclamped<T> + IsWithinBounds<Mask = bool>,
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