Struct palette::Hwb [−][src]
#[repr(C)]pub struct Hwb<S = Srgb, T = f32> where
T: FloatComponent,
S: RgbStandard, { pub hue: RgbHue<T>, pub whiteness: T, pub blackness: T, pub standard: PhantomData<S>, }
Expand description
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
Linear HWB.
Convert to a (hue, whiteness, blackness)
tuple.
Convert from a (hue, whiteness, blackness)
tuple.
Return the whiteness
value minimum.
Return the whiteness
value maximum.
Return the blackness
value minimum.
Return the blackness
value maximum.
Trait Implementations
The default tolerance to use when testing values that are close together. Read more
A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more
The inverse of AbsDiffEq::abs_diff_eq
.
impl<S, T> AddAssign<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + AddAssign,
S: RgbStandard,
impl<S, T> AddAssign<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + AddAssign,
S: RgbStandard,
Performs the +=
operation. Read more
Performs the +=
operation. Read more
impl<S, T, P: ?Sized> AsMut<P> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
P: RawPixel<T>,
impl<S, T, P: ?Sized> AsMut<P> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
P: RawPixel<T>,
impl<S, T, P: ?Sized> AsRef<P> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
P: RawPixel<T>,
impl<S, T, P: ?Sized> AsRef<P> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
P: RawPixel<T>,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
_C: IntoColorUnclamped<Self>,
_A: Component,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
_C: IntoColorUnclamped<Self>,
_A: Component,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Hwb<S, T> where
S: RgbStandard,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Hwb<S, T> where
S: RgbStandard,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsl<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsl<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsv<S, T> where
T: FloatComponent,
S: RgbStandard,
impl<S, T> FromColorUnclamped<Hwb<S, T>> for Hsv<S, T> where
T: FloatComponent,
S: RgbStandard,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S: RgbStandard, T: Component> FromColorUnclamped<Hwb<S, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
impl<S: RgbStandard, T: Component> FromColorUnclamped<Hwb<S, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S1, S2, T> FromColorUnclamped<Hwb<S1, T>> for Hwb<S2, T> where
S1: RgbStandard,
S2: RgbStandard,
S1::Space: RgbSpace<WhitePoint = <S2::Space as RgbSpace>::WhitePoint>,
T: FloatComponent,
impl<S1, S2, T> FromColorUnclamped<Hwb<S1, T>> for Hwb<S2, T> where
S1: RgbStandard,
S2: RgbStandard,
S1::Space: RgbSpace<WhitePoint = <S2::Space as RgbSpace>::WhitePoint>,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Hsluv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Hsluv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lab<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lab<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lch<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lch<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lchuv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Lchuv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luma<S, T> where
T: Component,
S: LumaStandard,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = S::WhitePoint>,
impl<S, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luma<S, T> where
T: Component,
S: LumaStandard,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = S::WhitePoint>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklab<T> where
T: FloatComponent,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklab<T> where
T: FloatComponent,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklch<T> where
T: FloatComponent,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
impl<T, _S> FromColorUnclamped<Hwb<_S, T>> for Oklch<T> where
T: FloatComponent,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = D65>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Xyz<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Xyz<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Yxy<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
impl<Wp, T, _S> FromColorUnclamped<Hwb<_S, T>> for Yxy<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
_S: LumaStandard<WhitePoint = <S::Space as RgbSpace>::WhitePoint>,
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
_S: LumaStandard<WhitePoint = <S::Space as RgbSpace>::WhitePoint>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Oklab<T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Hsv<S, T>: FromColorUnclamped<Oklab<T>>,
impl<S, T> FromColorUnclamped<Oklab<T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Hsv<S, T>: FromColorUnclamped<Oklab<T>>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Oklch<T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Hsv<S, T>: FromColorUnclamped<Oklch<T>>,
impl<S, T> FromColorUnclamped<Oklch<T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Hsv<S, T>: FromColorUnclamped<Oklch<T>>,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
impl<S, T> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
Convert from T. The resulting color might be invalid in its color space. Read more
impl<S, T> PartialEq<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + PartialEq,
S: RgbStandard,
impl<S, T> PartialEq<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + PartialEq,
S: RgbStandard,
Cast as a mutable reference to raw color components.
Convert into raw color components.
Cast from a reference to raw color components.
Cast from a mutable reference to raw color components.
Cast a slice of raw color components to a slice of colors. Read more
Cast a mutable slice of raw color components to a mutable slice of colors. Read more
Cast a slice of colors to a slice of raw color components. Read more
Cast a mutable slice of colors to a mutable slice of raw color components. Read more
type Scalar = T
type Scalar = T
The type of the contrast ratio.
Calculate the contrast ratio between two colors.
Verify the contrast between two colors satisfies SC 1.4.3. Contrast is at least 4.5:1 (Level AA). Read more
Verify the contrast between two colors satisfies SC 1.4.3 for large text. Contrast is at least 3:1 (Level AA). Read more
Verify the contrast between two colors satisfies SC 1.4.6. Contrast is at least 7:1 (Level AAA). Read more
Verify the contrast between two colors satisfies SC 1.4.6 for large text. Contrast is at least 4.5:1 (Level AAA). Read more
Verify the contrast between two colors satisfies SC 1.4.11 for graphical objects. Contrast is at least 3:1 (Level AA). Read more
impl<S, T> RelativeEq<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + RelativeEq,
T::Epsilon: Copy + Float + FromF64,
S: RgbStandard + PartialEq,
impl<S, T> RelativeEq<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + RelativeEq,
T::Epsilon: Copy + Float + FromF64,
S: RgbStandard + PartialEq,
The default relative tolerance for testing values that are far-apart. Read more
A test for equality that uses a relative comparison if the values are far apart.
The inverse of RelativeEq::relative_eq
.
type Scalar = T
type Scalar = T
The type of the lighten/darken modifier.
Scale the color towards the maximum lightness by factor
, a value
ranging from 0.0
to 1.0
. Read more
Lighten the color by amount
, a value ranging from 0.0
to 1.0
. Read more
Scale the color towards the minimum lightness by factor
, a value
ranging from 0.0
to 1.0
. Read more
Darken the color by amount
, a value ranging from 0.0
to 1.0
. Read more
impl<S, T> SubAssign<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + SubAssign,
S: RgbStandard,
impl<S, T> SubAssign<Hwb<S, T>> for Hwb<S, T> where
T: FloatComponent + SubAssign,
S: RgbStandard,
Performs the -=
operation. Read more
Performs the -=
operation. Read more
The default ULPs to tolerate when testing values that are far-apart. Read more
A test for equality that uses units in the last place (ULP) if the values are far apart.
impl<S, T, _A> WithAlpha<_A> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
_A: Component,
impl<S, T, _A> WithAlpha<_A> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
_A: Component,
Transforms the color into a transparent color with the provided
alpha value. If Self
already has a transparency, it is
overwritten. Read more
Removes the transparency from the color. If Self::Color
has
an internal transparency field, that field will be set to
A::max_intensity()
to make it opaque. Read more
Splits the color into separate color and transparency values. Read more
Transforms the color into a fully opaque color with a transparency
field. If Self
already has a transparency, it is overwritten. Read more
Transforms the color into a fully transparent color. If Self
already has a transparency, it is overwritten. Read more
Auto Trait Implementations
impl<S, T> RefUnwindSafe for Hwb<S, T> where
S: RefUnwindSafe,
T: RefUnwindSafe,
impl<S, T> UnwindSafe for Hwb<S, T> where
S: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for D where
T: FloatComponent,
S: IntoColorUnclamped<Xyz<Swp, T>>,
Swp: WhitePoint,
Dwp: WhitePoint,
D: FromColorUnclamped<Xyz<Dwp, T>>,
impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for D where
T: FloatComponent,
S: IntoColorUnclamped<Xyz<Swp, T>>,
Swp: WhitePoint,
Dwp: WhitePoint,
D: FromColorUnclamped<Xyz<Dwp, T>>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: FloatComponent,
Swp: WhitePoint,
Dwp: WhitePoint,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: FloatComponent,
Swp: WhitePoint,
Dwp: WhitePoint,
D: AdaptFrom<S, Swp, Dwp, T>,
Mutably borrows from an owned value. Read more
Convert from T with values clamped to the color defined bounds. Read more
Convert into T with values clamped to the color defined bounds Read more
Convert into T. The resulting color might be invalid in its color space Read more
Convert from T, returning ok if the color is inside of its defined
range, otherwise an OutOfBounds
error is returned which contains
the unclamped color. Read more
Convert into T, returning ok if the color is inside of its defined
range, otherwise an OutOfBounds
error is returned which contains
the unclamped color. Read more