#[repr(C)]pub struct Hsv<S = Srgb, T = f32> {
pub hue: RgbHue<T>,
pub saturation: T,
pub value: T,
pub standard: PhantomData<S>,
}
Expand description
HSV color space.
HSV is a cylindrical version of RGB and it’s very similar
to HSL. The difference is that the value
component in HSV
determines the brightness of the color, and not the lightness. The
difference is that, for example, red (100% R, 0% G, 0% B) and white (100% R,
100% G, 100% B) has the same brightness (or value), but not the same
lightness.
HSV 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::Hsv;
let hsv_u8 = Hsv::new_srgb(128u8, 85, 51);
let hsv_f32 = hsv_u8.into_format::<f32>();
assert_relative_eq!(hsv_f32, Hsv::new(180.0, 1.0 / 3.0, 0.2));
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.
value: T
Decides how bright the color will look. 0.0 will be black, and 1.0 will
give a bright an clear color that goes towards white when saturation
goes towards 0.0.
standard: PhantomData<S>
The white point and RGB primaries this color is adapted to. The default is the sRGB standard.
Implementations§
source§impl<T> Hsv<Srgb, T>
impl<T> Hsv<Srgb, T>
sourcepub fn new_srgb<H>(hue: H, saturation: T, value: T) -> Hsv<Srgb, T>
pub fn new_srgb<H>(hue: H, saturation: T, value: T) -> Hsv<Srgb, T>
Create an sRGB HSV color. This method can be used instead of Hsv::new
to help type inference.
sourcepub const fn new_srgb_const(
hue: RgbHue<T>,
saturation: T,
value: T,
) -> Hsv<Srgb, T>
pub const fn new_srgb_const( hue: RgbHue<T>, saturation: T, value: T, ) -> Hsv<Srgb, T>
Create an sRGB HSV color. This is the same as Hsv::new_srgb
without
the generic hue type. It’s temporary until const fn
supports traits.
source§impl<S, T> Hsv<S, T>
impl<S, T> Hsv<S, T>
sourcepub const fn new_const(hue: RgbHue<T>, saturation: T, value: T) -> Hsv<S, T>
pub const fn new_const(hue: RgbHue<T>, saturation: T, value: T) -> Hsv<S, T>
Create an HSV color. This is the same as Hsv::new
without the generic
hue type. It’s temporary until const fn
supports traits.
sourcepub fn into_format<U>(self) -> Hsv<S, U>where
U: FromStimulus<T> + FromAngle<T>,
pub fn into_format<U>(self) -> Hsv<S, U>where
U: FromStimulus<T> + FromAngle<T>,
Convert into another component type.
sourcepub fn from_format<U>(color: Hsv<S, U>) -> Hsv<S, T>where
T: FromStimulus<U> + FromAngle<U>,
pub fn from_format<U>(color: Hsv<S, U>) -> Hsv<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, value)
tuple.
source§impl<S, T> Hsv<S, T>where
T: Stimulus,
impl<S, T> Hsv<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.
source§impl<S, C> Hsv<S, C>
impl<S, C> Hsv<S, C>
sourcepub fn iter<'a>(&'a self) -> <&'a Hsv<S, C> as IntoIterator>::IntoIterwhere
&'a Hsv<S, C>: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Hsv<S, C> as IntoIterator>::IntoIterwhere
&'a Hsv<S, C>: IntoIterator,
Return an iterator over the colors in the wrapped collections.
sourcepub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Hsv<S, C> as IntoIterator>::IntoIterwhere
&'a mut Hsv<S, C>: IntoIterator,
pub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Hsv<S, C> as IntoIterator>::IntoIterwhere
&'a mut Hsv<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<Hsv<S, &'a <I as SliceIndex<[T]>>::Output>>
pub fn get<'a, I, T>( &'a self, index: I, ) -> Option<Hsv<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<Hsv<S, &'a mut <I as SliceIndex<[T]>>::Output>>
pub fn get_mut<'a, I, T>( &'a mut self, index: I, ) -> Option<Hsv<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> Hsv<S, Vec<T>>
impl<S, T> Hsv<S, Vec<T>>
sourcepub fn with_capacity(capacity: usize) -> Hsv<S, Vec<T>>
pub fn with_capacity(capacity: usize) -> Hsv<S, Vec<T>>
Create a struct of vectors with a minimum capacity. See Vec::with_capacity
for details.
sourcepub fn push(&mut self, value: Hsv<S, T>)
pub fn push(&mut self, value: Hsv<S, T>)
Push an additional color’s components onto the component vectors. See Vec::push
for details.
sourcepub fn pop(&mut self) -> Option<Hsv<S, T>>
pub fn pop(&mut self) -> Option<Hsv<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 Hsv<S, T>
impl<S, T> AbsDiffEq for Hsv<S, T>
source§fn default_epsilon() -> <Hsv<S, T> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Hsv<S, T> as AbsDiffEq>::Epsilon
source§fn abs_diff_eq(
&self,
other: &Hsv<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Hsv<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn abs_diff_ne(
&self,
other: &Hsv<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_ne( &self, other: &Hsv<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
AbsDiffEq::abs_diff_eq
.source§impl<S, T> AddAssign<T> for Hsv<S, T>
impl<S, T> AddAssign<T> for Hsv<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 Hsv<S, T>where
T: AddAssign,
impl<S, T> AddAssign for Hsv<S, T>where
T: AddAssign,
source§fn add_assign(&mut self, other: Hsv<S, T>)
fn add_assign(&mut self, other: Hsv<S, T>)
+=
operation. Read moresource§impl<S, T> ClampAssign for Hsv<S, T>where
T: ClampAssign + Stimulus,
impl<S, T> ClampAssign for Hsv<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 Hsv<S, T>where
T: Deserialize<'de>,
impl<'de, S, T> Deserialize<'de> for Hsv<S, T>where
T: Deserialize<'de>,
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hsv<S, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hsv<S, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl<S, T, C> Extend<Hsv<S, T>> for Hsv<S, C>where
C: Extend<T>,
impl<S, T, C> Extend<Hsv<S, T>> for Hsv<S, C>where
C: Extend<T>,
source§fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Hsv<S, T>>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Hsv<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 Hsv<S, T>where
_C: IntoColorUnclamped<Hsv<S, T>>,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hsv<S, T>where
_C: IntoColorUnclamped<Hsv<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<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§fn from_color_unclamped(
color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
fn from_color_unclamped( color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<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<Hsv<S, T>> for Hwb<S, T>where
T: One + Arithmetics,
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Hwb<S, T>where
T: One + Arithmetics,
source§impl<S, T> FromColorUnclamped<Hsv<S, T>> for Rgb<S, T>where
T: Real + RealAngle + UnsignedAngle + Round + Zero + One + Abs + PartialCmp + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + BitOps + Clone,
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Rgb<S, T>where
T: Real + RealAngle + UnsignedAngle + Round + Zero + One + Abs + PartialCmp + Arithmetics + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + BitOps + Clone,
source§impl<S1, S2, T> FromColorUnclamped<Hsv<S1, T>> for Hsv<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<Hsv<S1, T>>,
Rgb<S2, T>: FromColorUnclamped<Rgb<S1, T>>,
Hsv<S2, T>: FromColorUnclamped<Rgb<S2, T>>,
impl<S1, S2, T> FromColorUnclamped<Hsv<S1, T>> for Hsv<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<Hsv<S1, T>>,
Rgb<S2, T>: FromColorUnclamped<Rgb<S1, T>>,
Hsv<S2, T>: FromColorUnclamped<Rgb<S2, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Hsluv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Hsluv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lab<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lab<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lch<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lch<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lch<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lch<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lchuv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Lchuv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
source§impl<S, T, _S> FromColorUnclamped<Hsv<_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<Hsv<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _S> FromColorUnclamped<Hsv<_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<Hsv<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Luv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Luv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Luv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Luv<Wp, T>>,
source§impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Okhsl<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Okhsl<T>>,
impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Okhsl<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Okhsl<T>>,
source§impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Okhsv<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Okhsv<T>>,
impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Okhsv<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Okhsv<T>>,
source§impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Okhwb<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Okhwb<T>>,
impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Okhwb<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Okhwb<T>>,
source§impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Oklab<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Oklab<T>>,
impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Oklab<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Oklab<T>>,
source§impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Oklch<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Oklch<T>>,
impl<T, _S> FromColorUnclamped<Hsv<_S, T>> for Oklch<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Oklch<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<Hsv<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hsv<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
source§impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsv<S, T>
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§fn from_color_unclamped(
color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§fn from_color_unclamped(
color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
fn from_color_unclamped( color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§fn from_color_unclamped(
color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
fn from_color_unclamped( color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<S, T>
source§impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsv<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsv<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§fn from_color_unclamped(
color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
fn from_color_unclamped( color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Okhsl<T>> for Hsv<S, T>
impl<S, T> FromColorUnclamped<Okhsl<T>> for Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Okhsv<T>> for Hsv<S, T>
impl<S, T> FromColorUnclamped<Okhsv<T>> for Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Okhwb<T>> for Hsv<S, T>
impl<S, T> FromColorUnclamped<Okhwb<T>> for Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Oklab<T>> for Hsv<S, T>
impl<S, T> FromColorUnclamped<Oklab<T>> for Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Oklch<T>> for Hsv<S, T>
impl<S, T> FromColorUnclamped<Oklch<T>> for Hsv<S, T>
source§impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsv<S, T>where
T: RealAngle + One + Zero + MinMax + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: BoolMask + BitOps + LazySelect<T> + Clone + 'static,
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsv<S, T>where
T: RealAngle + One + Zero + 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 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<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hsv<S, T>where
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hsv<S, T>>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hsv<S, T>
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hsv<S, T>
source§impl<S, T, C> FromIterator<Hsv<S, T>> for Hsv<S, C>
impl<S, T, C> FromIterator<Hsv<S, T>> for Hsv<S, C>
source§impl<S, T> HasBoolMask for Hsv<S, T>where
T: HasBoolMask,
impl<S, T> HasBoolMask for Hsv<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 Hsv<S, &'b [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Hsv<S, &'b [T]>
source§impl<'a, 'b, S, T> IntoIterator for &'a Hsv<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Hsv<S, &'b mut [T]>
source§impl<'a, S, T> IntoIterator for &'a Hsv<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a Hsv<S, Vec<T>>
source§impl<'a, 'b, S, T> IntoIterator for &'a mut Hsv<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a mut Hsv<S, &'b mut [T]>
source§impl<'a, S, T> IntoIterator for &'a mut Hsv<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a mut Hsv<S, Vec<T>>
source§impl<'a, S, T> IntoIterator for Hsv<S, &'a [T]>
impl<'a, S, T> IntoIterator for Hsv<S, &'a [T]>
source§impl<'a, S, T> IntoIterator for Hsv<S, &'a mut [T]>
impl<'a, S, T> IntoIterator for Hsv<S, &'a mut [T]>
source§impl<S, T> IntoIterator for Hsv<S, Vec<T>>
impl<S, T> IntoIterator for Hsv<S, Vec<T>>
source§impl<S, T> IsWithinBounds for Hsv<S, T>where
T: PartialCmp + Stimulus,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
impl<S, T> IsWithinBounds for Hsv<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 Hsv<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> Lighten for Hsv<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§impl<S, T> LightenAssign for Hsv<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> LightenAssign for Hsv<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 Hsv<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<Hsv<S, T>>,
impl<S, T> RelativeContrast for Hsv<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<Hsv<S, T>>,
source§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrast
source§fn get_contrast_ratio(self, other: Hsv<S, T>) -> T
fn get_contrast_ratio(self, other: Hsv<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 Hsv<S, T>where
T: RelativeEq,
<T as AbsDiffEq>::Epsilon: Clone,
RgbHue<T>: RelativeEq<Epsilon = <T as AbsDiffEq>::Epsilon> + AbsDiffEq,
impl<S, T> RelativeEq for Hsv<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: &Hsv<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Hsv<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn relative_ne(
&self,
other: &Hsv<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_ne( &self, other: &Hsv<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
RelativeEq::relative_eq
.source§impl<S, T> Saturate for Hsv<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> Saturate for Hsv<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§impl<S, T> SaturateAssign for Hsv<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> SaturateAssign for Hsv<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 Hsv<S, T>where
T: SaturatingAdd<Output = T> + Clone,
impl<S, T> SaturatingAdd<T> for Hsv<S, T>where
T: SaturatingAdd<Output = T> + Clone,
source§fn saturating_add(self, c: T) -> <Hsv<S, T> as SaturatingAdd<T>>::Output
fn saturating_add(self, c: T) -> <Hsv<S, T> as SaturatingAdd<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<S, T> SaturatingAdd for Hsv<S, T>where
T: SaturatingAdd<Output = T>,
impl<S, T> SaturatingAdd for Hsv<S, T>where
T: SaturatingAdd<Output = T>,
source§impl<S, T> SaturatingSub<T> for Hsv<S, T>where
T: SaturatingSub<Output = T> + Clone,
impl<S, T> SaturatingSub<T> for Hsv<S, T>where
T: SaturatingSub<Output = T> + Clone,
source§fn saturating_sub(self, c: T) -> <Hsv<S, T> as SaturatingSub<T>>::Output
fn saturating_sub(self, c: T) -> <Hsv<S, T> as SaturatingSub<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<S, T> SaturatingSub for Hsv<S, T>where
T: SaturatingSub<Output = T>,
impl<S, T> SaturatingSub for Hsv<S, T>where
T: SaturatingSub<Output = T>,
source§impl<S, T> Serialize for Hsv<S, T>where
T: Serialize,
impl<S, T> Serialize for Hsv<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 Hsv<S, T>where
T: AddAssign,
impl<S, T> ShiftHueAssign for Hsv<S, T>where
T: AddAssign,
source§fn shift_hue_assign(&mut self, amount: <Hsv<S, T> as ShiftHueAssign>::Scalar)
fn shift_hue_assign(&mut self, amount: <Hsv<S, T> as ShiftHueAssign>::Scalar)
amount
.source§impl<S, T> SubAssign<T> for Hsv<S, T>
impl<S, T> SubAssign<T> for Hsv<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 Hsv<S, T>where
T: SubAssign,
impl<S, T> SubAssign for Hsv<S, T>where
T: SubAssign,
source§fn sub_assign(&mut self, other: Hsv<S, T>)
fn sub_assign(&mut self, other: Hsv<S, T>)
-=
operation. Read moresource§impl<S, T> UlpsEq for Hsv<S, T>
impl<S, T> UlpsEq for Hsv<S, T>
source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
source§impl<S, T, _A> WithAlpha<_A> for Hsv<S, T>where
_A: Stimulus,
impl<S, T, _A> WithAlpha<_A> for Hsv<S, T>where
_A: Stimulus,
source§fn with_alpha(self, alpha: _A) -> <Hsv<S, T> as WithAlpha<_A>>::WithAlpha
fn with_alpha(self, alpha: _A) -> <Hsv<S, T> as WithAlpha<_A>>::WithAlpha
Self
already has a transparency, it is
overwritten. Read moresource§fn without_alpha(self) -> <Hsv<S, T> as WithAlpha<_A>>::Color
fn without_alpha(self) -> <Hsv<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) -> (<Hsv<S, T> as WithAlpha<_A>>::Color, _A)
fn split(self) -> (<Hsv<S, T> as WithAlpha<_A>>::Color, _A)
impl<S, T> Copy for Hsv<S, T>where
T: Copy,
impl<S, T> Eq for Hsv<S, T>
Auto Trait Implementations§
impl<S, T> Freeze for Hsv<S, T>where
T: Freeze,
impl<S, T> RefUnwindSafe for Hsv<S, T>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, T> Send for Hsv<S, T>
impl<S, T> Sync for Hsv<S, T>
impl<S, T> Unpin for Hsv<S, T>
impl<S, T> UnwindSafe for Hsv<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