pub struct Hsla {
pub hue: f32,
pub saturation: f32,
pub lightness: f32,
pub alpha: f32,
}Expand description
Fields§
§hue: f32Hue color angle in the [0.0..=360.0] range.
saturation: f32Saturation amount in the [0.0..=1.0] range, zero is gray, one is full color.
lightness: f32Lightness amount in the [0.0..=1.0] range, zero is black, one is white.
alpha: f32Alpha 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§fn into_var(self) -> Var<GradientStop>
fn into_var(self) -> Var<GradientStop>
Conversion to positional color.
Source§impl IntoVar<PreMulRgba> for Hsla
impl IntoVar<PreMulRgba> for Hsla
fn into_var(self) -> Var<PreMulRgba>
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_pluslighter(self, background: Self) -> Self
fn mix_pluslighter(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,
self over background using the mode.Source§impl Ord for Hsla
impl Ord for Hsla
Source§impl PartialOrd for Hsla
impl PartialOrd for Hsla
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 Eq 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 T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
other if both are of the same type.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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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