Struct Oklch
pub struct Oklch {
pub l: f32,
pub c: f32,
pub h: f32,
}Expand description
A colour in OKLCH: perceptual lightness l in [0, 1], chroma c
(0 is grey; sRGB tops out near 0.37) and hue h in degrees.
The design language states every neutral and identity colour here,
because equal l reads as equal lightness whatever the hue: a theme can
rotate its temperature, or a palette its hues, without moving contrast.
Fields§
§l: f32§c: f32§h: f32Implementations§
§impl Oklch
impl Oklch
pub const fn new(l: f32, c: f32, h: f32) -> Oklch
pub fn to_color(self) -> AlphaColor<Srgb>
pub fn to_color(self) -> AlphaColor<Srgb>
The opaque sRGB colour, gamut-mapped by lowering chroma: lightness and hue are kept exactly, and only as much chroma is given up as the sRGB cube demands (a light cyan cannot carry the chroma a light violet can).
pub fn from_color(color: AlphaColor<Srgb>) -> Oklch
pub fn from_color(color: AlphaColor<Srgb>) -> Oklch
The OKLCH coordinates of an sRGB colour (alpha ignored). A grey’s hue is meaningless and comes back as 0.
Trait Implementations§
impl Copy for Oklch
impl StructuralPartialEq for Oklch
Auto Trait Implementations§
impl Freeze for Oklch
impl RefUnwindSafe for Oklch
impl Send for Oklch
impl Sync for Oklch
impl Unpin for Oklch
impl UnsafeUnpin for Oklch
impl UnwindSafe for Oklch
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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 more