pub struct Hsla {
pub hue: f32,
pub saturation: f32,
pub lightness: f32,
pub alpha: f32,
}
Expand description
Fields§
§hue: f32
Hue color angle in the [0.0..=360.0]
range.
saturation: f32
Saturation amount in the [0.0..=1.0]
range, zero is gray, one is full color.
lightness: f32
Lightness amount in the [0.0..=1.0]
range, zero is black, one is white.
alpha: f32
Alpha channel in the [0.0..=1.0]
range, zero is invisible, one is opaque.
Implementations§
source§impl Hsla
impl Hsla
sourcepub fn set_hue<H: Into<AngleDegree>>(&mut self, hue: H)
pub fn set_hue<H: Into<AngleDegree>>(&mut self, hue: H)
Sets the hue
color angle.
The value is normalized to be in the [0.0..=360.0]
range, that is 362.deg()
becomes 2.0
.
sourcepub fn set_lightness<L: Into<Factor>>(&mut self, lightness: L)
pub fn set_lightness<L: Into<Factor>>(&mut self, lightness: L)
Sets the lightness
value.
sourcepub fn set_saturation<S: Into<Factor>>(&mut self, saturation: S)
pub fn set_saturation<S: Into<Factor>>(&mut self, saturation: S)
Sets the saturation
value.
sourcepub fn with_hue<H: Into<AngleDegree>>(self, hue: H) -> Self
pub fn with_hue<H: Into<AngleDegree>>(self, hue: H) -> Self
Returns a copy of this color with a new hue
.
sourcepub fn with_lightness<L: Into<Factor>>(self, lightness: L) -> Self
pub fn with_lightness<L: Into<Factor>>(self, lightness: L) -> Self
Returns a copy of this color with a new lightness
.
sourcepub fn with_saturation<S: Into<Factor>>(self, saturation: S) -> Self
pub fn with_saturation<S: Into<Factor>>(self, saturation: S) -> Self
Returns a copy of this color with a new saturation
.
sourcepub fn with_alpha<A: Into<Factor>>(self, alpha: A) -> Self
pub fn with_alpha<A: Into<Factor>>(self, alpha: A) -> Self
Returns a copy of this color with a new alpha
.
sourcepub fn slerp(self, to: Self, factor: Factor) -> Self
pub fn slerp(self, to: Self, factor: Factor) -> Self
Interpolate in the LerpSpace::Hsla
mode.
sourcepub fn is_chromatic(self) -> bool
pub fn is_chromatic(self) -> bool
If the saturation is more than zero.
If false
the color is achromatic, the hue value does not affect the color.
sourcepub fn slerp_chromatic(self, to: Self, factor: Factor) -> Self
pub fn slerp_chromatic(self, to: Self, factor: Factor) -> Self
Interpolate in the LerpSpace::HslaChromatic
mode.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Hsla
impl<'de> Deserialize<'de> for Hsla
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl From<Hsla> for GradientStop
impl From<Hsla> for GradientStop
source§impl From<Hsla> for PreMulRgba
impl From<Hsla> for PreMulRgba
source§impl From<PreMulRgba> for Hsla
impl From<PreMulRgba> for Hsla
source§fn from(c: PreMulRgba) -> Self
fn from(c: PreMulRgba) -> Self
source§impl IntoVar<GradientStop> for Hsla
impl IntoVar<GradientStop> for Hsla
source§impl IntoVar<Hsla> for PreMulRgba
impl IntoVar<Hsla> for PreMulRgba
source§impl IntoVar<PreMulRgba> for Hsla
impl IntoVar<PreMulRgba> for Hsla
source§impl MixAdjust for Hsla
impl MixAdjust for Hsla
source§fn mix_normal(self, background: Self) -> Self
fn mix_normal(self, background: Self) -> Self
source§fn mix_multiply(self, background: Self) -> Self
fn mix_multiply(self, background: Self) -> Self
source§fn mix_screen(self, background: Self) -> Self
fn mix_screen(self, background: Self) -> Self
source§fn mix_overlay(self, background: Self) -> Self
fn mix_overlay(self, background: Self) -> Self
source§fn mix_darken(self, background: Self) -> Self
fn mix_darken(self, background: Self) -> Self
source§fn mix_lighten(self, background: Self) -> Self
fn mix_lighten(self, background: Self) -> Self
source§fn mix_colordodge(self, background: Self) -> Self
fn mix_colordodge(self, background: Self) -> Self
source§fn mix_colorburn(self, background: Self) -> Self
fn mix_colorburn(self, background: Self) -> Self
source§fn mix_hardlight(self, background: Self) -> Self
fn mix_hardlight(self, background: Self) -> Self
source§fn mix_softlight(self, background: Self) -> Self
fn mix_softlight(self, background: Self) -> Self
source§fn mix_difference(self, background: Self) -> Self
fn mix_difference(self, background: Self) -> Self
source§fn mix_exclusion(self, background: Self) -> Self
fn mix_exclusion(self, background: Self) -> Self
source§fn mix_saturation(self, background: Self) -> Self
fn mix_saturation(self, background: Self) -> Self
source§fn mix_luminosity(self, background: Self) -> Self
fn mix_luminosity(self, background: Self) -> Self
source§fn lighten<A: Into<Factor>>(self, amount: A) -> Self
fn lighten<A: Into<Factor>>(self, amount: A) -> Self
amount
to the color lightness. Read moresource§fn darken<A: Into<Factor>>(self, amount: A) -> Self
fn darken<A: Into<Factor>>(self, amount: A) -> Self
amount
from the color lightness. Read moresource§fn desaturate<A: Into<Factor>>(self, amount: A) -> Self
fn desaturate<A: Into<Factor>>(self, amount: A) -> Self
amount
from the color saturation. Read moresource§fn with_lightness<L: Into<Factor>>(self, lightness: L) -> Self
fn with_lightness<L: Into<Factor>>(self, lightness: L) -> Self
lightness
.source§fn mix(self, mode: MixBlendMode, background: Self) -> Selfwhere
Self: Sized,
fn mix(self, mode: MixBlendMode, background: Self) -> Selfwhere
Self: Sized,
background
over self
using the mode
.source§impl Transitionable for Hsla
impl Transitionable for Hsla
source§fn lerp(self, to: &Self, step: EasingStep) -> Self
fn lerp(self, to: &Self, step: EasingStep) -> Self
self
-> to
by step
.impl Copy for Hsla
impl IntoValue<ColorStop> for Hsla
impl IntoValue<GradientStop> for Hsla
impl IntoValue<Hsla> for Hsva
impl IntoValue<Hsla> for PreMulRgba
impl IntoValue<Hsla> for Rgba
impl IntoValue<Hsva> for Hsla
impl IntoValue<LightDark> for Hsla
impl IntoValue<PreMulRgba> for Hsla
impl IntoValue<Rgba> for Hsla
Auto Trait Implementations§
impl Freeze for Hsla
impl RefUnwindSafe for Hsla
impl Send for Hsla
impl Sync for Hsla
impl Unpin for Hsla
impl UnwindSafe for Hsla
Blanket Implementations§
source§impl<T> AnyVarValue for Twhere
T: VarValue,
impl<T> AnyVarValue for Twhere
T: VarValue,
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
dyn Any
methods.source§fn clone_boxed(&self) -> Box<dyn AnyVarValue>
fn clone_boxed(&self) -> Box<dyn AnyVarValue>
source§fn clone_boxed_var(&self) -> Box<dyn AnyVar>
fn clone_boxed_var(&self) -> Box<dyn AnyVar>
LocalVar<Self>
.source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self
equals other
.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<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
)§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>
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 more