#[repr(C)]pub struct Hwb<S = Srgb, T = f32> {
pub hue: RgbHue<T>,
pub whiteness: T,
pub blackness: T,
pub standard: PhantomData<S>,
}
Expand description
HWB color space.
HWB is a cylindrical version of RGB and it’s very closely related to HSV. It describes colors with a starting hue, then a degree of whiteness and blackness to mix into that base hue.
HWB 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::Hwb;
let hwb_u8 = Hwb::new_srgb(128u8, 85, 51);
let hwb_f32 = hwb_u8.into_format::<f32>();
assert_relative_eq!(hwb_f32, Hwb::new(180.0, 1.0 / 3.0, 0.2));
It is very intuitive for humans to use and many color-pickers are based on the HWB color system
Fields§
§hue: RgbHue<T>
The hue of the color, in degrees. Decides if it’s red, blue, purple, etc. Same as the hue for HSL and HSV.
whiteness: T
The whiteness of the color. It specifies the amount white to mix into the hue. It varies from 0 to 1, with 1 being always full white and 0 always being the color shade (a mixture of a pure hue with black) chosen with the other two controls.
blackness: T
The blackness of the color. It specifies the amount black to mix into the hue. It varies from 0 to 1, with 1 being always full black and 0 always being the color tint (a mixture of a pure hue with white) chosen with the other two
standard: PhantomData<S>
The white point and RGB primaries this color is adapted to. The default is the sRGB standard.
Implementations§
source§impl<T> Hwb<Srgb, T>
impl<T> Hwb<Srgb, T>
sourcepub fn new_srgb<H>(hue: H, whiteness: T, blackness: T) -> Hwb<Srgb, T>
pub fn new_srgb<H>(hue: H, whiteness: T, blackness: T) -> Hwb<Srgb, T>
Create an sRGB HWB color. This method can be used instead of Hwb::new
to help type inference.
sourcepub const fn new_srgb_const(
hue: RgbHue<T>,
whiteness: T,
blackness: T,
) -> Hwb<Srgb, T>
pub const fn new_srgb_const( hue: RgbHue<T>, whiteness: T, blackness: T, ) -> Hwb<Srgb, T>
Create an sRGB HWB color. This is the same as Hwb::new_srgb
without the
generic hue type. It’s temporary until const fn
supports traits.
source§impl<S, T> Hwb<S, T>
impl<S, T> Hwb<S, T>
sourcepub const fn new_const(hue: RgbHue<T>, whiteness: T, blackness: T) -> Hwb<S, T>
pub const fn new_const(hue: RgbHue<T>, whiteness: T, blackness: T) -> Hwb<S, T>
Create an HWB color. This is the same as Hwb::new
without the generic
hue type. It’s temporary until const fn
supports traits.
sourcepub fn into_format<U>(self) -> Hwb<S, U>where
U: FromStimulus<T> + FromAngle<T>,
pub fn into_format<U>(self) -> Hwb<S, U>where
U: FromStimulus<T> + FromAngle<T>,
Convert into another component type.
sourcepub fn from_format<U>(color: Hwb<S, U>) -> Hwb<S, T>where
T: FromStimulus<U> + FromAngle<U>,
pub fn from_format<U>(color: Hwb<S, U>) -> Hwb<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, whiteness, blackness)
tuple.
source§impl<S, T> Hwb<S, T>where
T: Stimulus,
impl<S, T> Hwb<S, T>where
T: Stimulus,
sourcepub fn min_whiteness() -> T
pub fn min_whiteness() -> T
Return the whiteness
value minimum.
sourcepub fn max_whiteness() -> T
pub fn max_whiteness() -> T
Return the whiteness
value maximum.
sourcepub fn min_blackness() -> T
pub fn min_blackness() -> T
Return the blackness
value minimum.
sourcepub fn max_blackness() -> T
pub fn max_blackness() -> T
Return the blackness
value maximum.
source§impl<S, C> Hwb<S, C>
impl<S, C> Hwb<S, C>
sourcepub fn iter<'a>(&'a self) -> <&'a Hwb<S, C> as IntoIterator>::IntoIterwhere
&'a Hwb<S, C>: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Hwb<S, C> as IntoIterator>::IntoIterwhere
&'a Hwb<S, C>: IntoIterator,
Return an iterator over the colors in the wrapped collections.
sourcepub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Hwb<S, C> as IntoIterator>::IntoIterwhere
&'a mut Hwb<S, C>: IntoIterator,
pub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Hwb<S, C> as IntoIterator>::IntoIterwhere
&'a mut Hwb<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<Hwb<S, &'a <I as SliceIndex<[T]>>::Output>>
pub fn get<'a, I, T>( &'a self, index: I, ) -> Option<Hwb<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<Hwb<S, &'a mut <I as SliceIndex<[T]>>::Output>>
pub fn get_mut<'a, I, T>( &'a mut self, index: I, ) -> Option<Hwb<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> Hwb<S, Vec<T>>
impl<S, T> Hwb<S, Vec<T>>
sourcepub fn with_capacity(capacity: usize) -> Hwb<S, Vec<T>>
pub fn with_capacity(capacity: usize) -> Hwb<S, Vec<T>>
Create a struct of vectors with a minimum capacity. See Vec::with_capacity
for details.
sourcepub fn push(&mut self, value: Hwb<S, T>)
pub fn push(&mut self, value: Hwb<S, T>)
Push an additional color’s components onto the component vectors. See Vec::push
for details.
sourcepub fn pop(&mut self) -> Option<Hwb<S, T>>
pub fn pop(&mut self) -> Option<Hwb<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 Hwb<S, T>
impl<S, T> AbsDiffEq for Hwb<S, T>
source§fn default_epsilon() -> <Hwb<S, T> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Hwb<S, T> as AbsDiffEq>::Epsilon
source§fn abs_diff_eq(
&self,
other: &Hwb<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Hwb<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn abs_diff_ne(
&self,
other: &Hwb<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_ne( &self, other: &Hwb<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
AbsDiffEq::abs_diff_eq
.source§impl<S, T> AddAssign<T> for Hwb<S, T>
impl<S, T> AddAssign<T> for Hwb<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 Hwb<S, T>where
T: AddAssign,
impl<S, T> AddAssign for Hwb<S, T>where
T: AddAssign,
source§fn add_assign(&mut self, other: Hwb<S, T>)
fn add_assign(&mut self, other: Hwb<S, T>)
+=
operation. Read moresource§impl<S, T> Clamp for Hwb<S, T>where
T: One + Clamp + PartialCmp + Add<Output = T> + DivAssign + Clone + Stimulus,
<T as HasBoolMask>::Mask: Select<T>,
impl<S, T> Clamp for Hwb<S, T>where
T: One + Clamp + PartialCmp + Add<Output = T> + DivAssign + Clone + Stimulus,
<T as HasBoolMask>::Mask: Select<T>,
source§impl<S, T> ClampAssign for Hwb<S, T>where
T: One + ClampAssign + PartialCmp + Add<Output = T> + DivAssign + Clone + Stimulus,
<T as HasBoolMask>::Mask: Select<T>,
impl<S, T> ClampAssign for Hwb<S, T>where
T: One + ClampAssign + PartialCmp + Add<Output = T> + DivAssign + Clone + Stimulus,
<T as HasBoolMask>::Mask: Select<T>,
source§fn clamp_assign(&mut self)
fn clamp_assign(&mut self)
source§impl<'de, S, T> Deserialize<'de> for Hwb<S, T>where
T: Deserialize<'de>,
impl<'de, S, T> Deserialize<'de> for Hwb<S, T>where
T: Deserialize<'de>,
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hwb<S, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hwb<S, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl<S, T, C> Extend<Hwb<S, T>> for Hwb<S, C>where
C: Extend<T>,
impl<S, T, C> Extend<Hwb<S, T>> for Hwb<S, C>where
C: Extend<T>,
source§fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Hwb<S, T>>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Hwb<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 Hwb<S, T>where
_C: IntoColorUnclamped<Hwb<S, T>>,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hwb<S, T>where
_C: IntoColorUnclamped<Hwb<S, 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<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
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<Hwb<S, T>> for Hsl<S, T>
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsl<S, 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<Hwb<S, T>> for Rgb<S, T>
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Rgb<S, T>
source§impl<S1, S2, T> FromColorUnclamped<Hwb<S1, T>> for Hwb<S2, T>where
S1: RgbStandard + 'static,
S2: RgbStandard + 'static,
<S1 as RgbStandard>::Space: RgbSpace<WhitePoint = <<S2 as RgbStandard>::Space as RgbSpace>::WhitePoint>,
Hsv<S1, T>: FromColorUnclamped<Hwb<S1, T>>,
Hsv<S2, T>: FromColorUnclamped<Hsv<S1, T>>,
Hwb<S2, T>: FromColorUnclamped<Hsv<S2, T>>,
impl<S1, S2, T> FromColorUnclamped<Hwb<S1, T>> for Hwb<S2, T>where
S1: RgbStandard + 'static,
S2: RgbStandard + 'static,
<S1 as RgbStandard>::Space: RgbSpace<WhitePoint = <<S2 as RgbStandard>::Space as RgbSpace>::WhitePoint>,
Hsv<S1, T>: FromColorUnclamped<Hwb<S1, T>>,
Hsv<S2, T>: FromColorUnclamped<Hsv<S1, T>>,
Hwb<S2, T>: FromColorUnclamped<Hsv<S2, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Hsluv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Hsluv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Hsluv<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lab<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lab<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lab<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lch<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lch<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lch<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lch<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lchuv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lchuv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Lchuv<Wp, T>>,
source§impl<S, T, _S> FromColorUnclamped<Hwb<_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<Hwb<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _S> FromColorUnclamped<Hwb<_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<Hwb<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Luv<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luv<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Luv<Wp, T>>,
source§impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Okhsl<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Okhsl<T>>,
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Okhsl<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Okhsl<T>>,
source§impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Okhsv<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Okhsv<T>>,
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Okhsv<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Okhsv<T>>,
source§impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Okhwb<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Okhwb<T>>,
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Okhwb<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Okhwb<T>>,
source§impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklab<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Oklab<T>>,
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklab<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Oklab<T>>,
source§impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklch<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Oklch<T>>,
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklch<T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Oklch<T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Xyz<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Rgb<_S, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Xyz<Wp, T>>,
source§impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Yxy<Wp, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Yxy<Wp, T>>,
source§impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
source§impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hwb<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hwb<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Okhsl<T>> for Hwb<S, T>
impl<S, T> FromColorUnclamped<Okhsl<T>> for Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Okhsv<T>> for Hwb<S, T>
impl<S, T> FromColorUnclamped<Okhsv<T>> for Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Okhwb<T>> for Hwb<S, T>
impl<S, T> FromColorUnclamped<Okhwb<T>> for Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Oklab<T>> for Hwb<S, T>
impl<S, T> FromColorUnclamped<Oklab<T>> for Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Oklch<T>> for Hwb<S, T>
impl<S, T> FromColorUnclamped<Oklch<T>> for Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hwb<S, T>
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
source§impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T>where
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> + IntoColorUnclamped<Hwb<S, T>>,
source§fn from_color_unclamped(
color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>,
) -> Hwb<S, T>
fn from_color_unclamped( color: Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>, ) -> Hwb<S, T>
source§impl<S, T, C> FromIterator<Hwb<S, T>> for Hwb<S, C>
impl<S, T, C> FromIterator<Hwb<S, T>> for Hwb<S, C>
source§impl<S, T> HasBoolMask for Hwb<S, T>where
T: HasBoolMask,
impl<S, T> HasBoolMask for Hwb<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 Hwb<S, &'b [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Hwb<S, &'b [T]>
source§impl<'a, 'b, S, T> IntoIterator for &'a Hwb<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Hwb<S, &'b mut [T]>
source§impl<'a, S, T> IntoIterator for &'a Hwb<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a Hwb<S, Vec<T>>
source§impl<'a, 'b, S, T> IntoIterator for &'a mut Hwb<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a mut Hwb<S, &'b mut [T]>
source§impl<'a, S, T> IntoIterator for &'a mut Hwb<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a mut Hwb<S, Vec<T>>
source§impl<'a, S, T> IntoIterator for Hwb<S, &'a [T]>
impl<'a, S, T> IntoIterator for Hwb<S, &'a [T]>
source§impl<'a, S, T> IntoIterator for Hwb<S, &'a mut [T]>
impl<'a, S, T> IntoIterator for Hwb<S, &'a mut [T]>
source§impl<S, T> IntoIterator for Hwb<S, Vec<T>>
impl<S, T> IntoIterator for Hwb<S, Vec<T>>
source§impl<S, T> IsWithinBounds for Hwb<S, T>where
T: PartialCmp + Add<Output = T> + Clone + Stimulus,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
impl<S, T> IsWithinBounds for Hwb<S, T>where
T: PartialCmp + Add<Output = T> + Clone + 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 Hwb<S, T>where
T: Real + Zero + MinMax + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> Lighten for Hwb<S, T>where
T: Real + Zero + MinMax + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§impl<S, T> LightenAssign for Hwb<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + SubAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> LightenAssign for Hwb<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + SubAssign + 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 Hwb<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<Hwb<S, T>>,
impl<S, T> RelativeContrast for Hwb<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<Hwb<S, T>>,
source§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrast
source§fn get_contrast_ratio(self, other: Hwb<S, T>) -> T
fn get_contrast_ratio(self, other: Hwb<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 Hwb<S, T>where
T: RelativeEq,
<T as AbsDiffEq>::Epsilon: Clone,
RgbHue<T>: RelativeEq<Epsilon = <T as AbsDiffEq>::Epsilon> + AbsDiffEq,
impl<S, T> RelativeEq for Hwb<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: &Hwb<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Hwb<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn relative_ne(
&self,
other: &Hwb<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_ne( &self, other: &Hwb<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
RelativeEq::relative_eq
.source§impl<S, T> SaturatingAdd<T> for Hwb<S, T>where
T: SaturatingAdd<Output = T> + Clone,
impl<S, T> SaturatingAdd<T> for Hwb<S, T>where
T: SaturatingAdd<Output = T> + Clone,
source§fn saturating_add(self, c: T) -> <Hwb<S, T> as SaturatingAdd<T>>::Output
fn saturating_add(self, c: T) -> <Hwb<S, T> as SaturatingAdd<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<S, T> SaturatingAdd for Hwb<S, T>where
T: SaturatingAdd<Output = T>,
impl<S, T> SaturatingAdd for Hwb<S, T>where
T: SaturatingAdd<Output = T>,
source§impl<S, T> SaturatingSub<T> for Hwb<S, T>where
T: SaturatingSub<Output = T> + Clone,
impl<S, T> SaturatingSub<T> for Hwb<S, T>where
T: SaturatingSub<Output = T> + Clone,
source§fn saturating_sub(self, c: T) -> <Hwb<S, T> as SaturatingSub<T>>::Output
fn saturating_sub(self, c: T) -> <Hwb<S, T> as SaturatingSub<T>>::Output
self
and other
, but saturates instead of overflowing.source§impl<S, T> SaturatingSub for Hwb<S, T>where
T: SaturatingSub<Output = T>,
impl<S, T> SaturatingSub for Hwb<S, T>where
T: SaturatingSub<Output = T>,
source§impl<S, T> Serialize for Hwb<S, T>where
T: Serialize,
impl<S, T> Serialize for Hwb<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 Hwb<S, T>where
T: AddAssign,
impl<S, T> ShiftHueAssign for Hwb<S, T>where
T: AddAssign,
source§fn shift_hue_assign(&mut self, amount: <Hwb<S, T> as ShiftHueAssign>::Scalar)
fn shift_hue_assign(&mut self, amount: <Hwb<S, T> as ShiftHueAssign>::Scalar)
amount
.source§impl<S, T> SubAssign<T> for Hwb<S, T>
impl<S, T> SubAssign<T> for Hwb<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 Hwb<S, T>where
T: SubAssign,
impl<S, T> SubAssign for Hwb<S, T>where
T: SubAssign,
source§fn sub_assign(&mut self, other: Hwb<S, T>)
fn sub_assign(&mut self, other: Hwb<S, T>)
-=
operation. Read moresource§impl<S, T> UlpsEq for Hwb<S, T>
impl<S, T> UlpsEq for Hwb<S, T>
source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
source§impl<S, T, _A> WithAlpha<_A> for Hwb<S, T>where
_A: Stimulus,
impl<S, T, _A> WithAlpha<_A> for Hwb<S, T>where
_A: Stimulus,
source§fn with_alpha(self, alpha: _A) -> <Hwb<S, T> as WithAlpha<_A>>::WithAlpha
fn with_alpha(self, alpha: _A) -> <Hwb<S, T> as WithAlpha<_A>>::WithAlpha
Self
already has a transparency, it is
overwritten. Read moresource§fn without_alpha(self) -> <Hwb<S, T> as WithAlpha<_A>>::Color
fn without_alpha(self) -> <Hwb<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) -> (<Hwb<S, T> as WithAlpha<_A>>::Color, _A)
fn split(self) -> (<Hwb<S, T> as WithAlpha<_A>>::Color, _A)
impl<S, T> Copy for Hwb<S, T>where
T: Copy,
impl<S, T> Eq for Hwb<S, T>
Auto Trait Implementations§
impl<S, T> Freeze for Hwb<S, T>where
T: Freeze,
impl<S, T> RefUnwindSafe for Hwb<S, T>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, T> Send for Hwb<S, T>
impl<S, T> Sync for Hwb<S, T>
impl<S, T> Unpin for Hwb<S, T>
impl<S, T> UnwindSafe for Hwb<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