Struct Hwb
pub struct Hwb;Expand description
🌌 The HWB color space
The HWB color space is a convenient way to represent colors. It corresponds closely to popular color pickers, both a triangle with white, black, and fully saturated color at the corner, and also a rectangle with a hue spectrum at the top and black at the bottom, with whiteness as a separate slider. It was proposed in HWB–A More Intuitive Hue-Based Color Model.
Its components are [H, W, B] with
H- the hue angle in degrees, with red at 0, green at 120, and blue at 240.W- an amount of whiteness to mix in, with 100 being white.B- an amount of blackness to mix in, with 100 being black.
The hue angle is the same as in Hsl, and thus has the same flaw of poor hue uniformity.
This corresponds to the color space in CSS Color Module Level 4 § 8.
Trait Implementations§
§impl ColorSpace for Hwb
impl ColorSpace for Hwb
§const TAG: Option<ColorSpaceTag>
const TAG: Option<ColorSpaceTag>
The tag corresponding to this color space, if a matching tag exists.
§const LAYOUT: ColorSpaceLayout = ColorSpaceLayout::HueFirst
const LAYOUT: ColorSpaceLayout = ColorSpaceLayout::HueFirst
The layout of the color space. Read more
§const WHITE_COMPONENTS: [f32; 3]
const WHITE_COMPONENTS: [f32; 3]
The component values for the color white within this color space.
§fn convert<TargetCS>(src: [f32; 3]) -> [f32; 3]where
TargetCS: ColorSpace,
fn convert<TargetCS>(src: [f32; 3]) -> [f32; 3]where
TargetCS: ColorSpace,
Convert to a different color space. Read more
§fn clip(_: [f32; 3]) -> [f32; 3]
fn clip(_: [f32; 3]) -> [f32; 3]
Clip the color’s components to fit within the natural gamut of the color space. Read more
§const WHITE_POINT: Chromaticity = Chromaticity::D65
const WHITE_POINT: Chromaticity = Chromaticity::D65
The white point of the color space. Read more
§fn to_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
fn to_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
Convert an opaque color to linear sRGB, without chromatic adaptation. Read more
§fn from_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
fn from_linear_srgb_absolute(src: [f32; 3]) -> [f32; 3]
Convert an opaque color from linear sRGB, without chromatic adaptation. Read more
§fn convert_absolute<TargetCS>(src: [f32; 3]) -> [f32; 3]where
TargetCS: ColorSpace,
fn convert_absolute<TargetCS>(src: [f32; 3]) -> [f32; 3]where
TargetCS: ColorSpace,
Convert to a different color space, without chromatic adaptation. Read more
§fn chromatically_adapt(
src: [f32; 3],
from: Chromaticity,
to: Chromaticity,
) -> [f32; 3]
fn chromatically_adapt( src: [f32; 3], from: Chromaticity, to: Chromaticity, ) -> [f32; 3]
Chromatically adapt the color between the given white point chromaticities. Read more
§impl From<Hwb> for ColorSpaceTag
impl From<Hwb> for ColorSpaceTag
§fn from(_: Hwb) -> ColorSpaceTag
fn from(_: Hwb) -> ColorSpaceTag
Converts to this type from the input type.
impl Copy for Hwb
Auto Trait Implementations§
impl Freeze for Hwb
impl RefUnwindSafe for Hwb
impl Send for Hwb
impl Sync for Hwb
impl Unpin for Hwb
impl UnwindSafe for Hwb
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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> StaticAnim for Twhere
T: StaticAnimRequirement + 'static,
impl<T> StaticAnim for Twhere
T: StaticAnimRequirement + 'static,
Source§fn show(&self) -> AnimationCell<T>
fn show(&self) -> AnimationCell<T>
Show the item
Source§fn hide(&self) -> AnimationCell<T>
fn hide(&self) -> AnimationCell<T>
Hide the item