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>(&mut self, hue: H)where
H: Into<AngleDegree>,
pub fn set_hue<H>(&mut self, hue: H)where
H: Into<AngleDegree>,
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>(&mut self, lightness: L)
pub fn set_lightness<L>(&mut self, lightness: L)
Sets the lightness
value.
sourcepub fn set_saturation<S>(&mut self, saturation: S)
pub fn set_saturation<S>(&mut self, saturation: S)
Sets the saturation
value.
sourcepub fn with_hue<H>(self, hue: H) -> Hslawhere
H: Into<AngleDegree>,
pub fn with_hue<H>(self, hue: H) -> Hslawhere
H: Into<AngleDegree>,
Returns a copy of this color with a new hue
.
sourcepub fn with_lightness<L>(self, lightness: L) -> Hsla
pub fn with_lightness<L>(self, lightness: L) -> Hsla
Returns a copy of this color with a new lightness
.
sourcepub fn with_saturation<S>(self, saturation: S) -> Hsla
pub fn with_saturation<S>(self, saturation: S) -> Hsla
Returns a copy of this color with a new saturation
.
sourcepub fn with_alpha<A>(self, alpha: A) -> Hsla
pub fn with_alpha<A>(self, alpha: A) -> Hsla
Returns a copy of this color with a new alpha
.
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: Hsla, factor: Factor) -> Hsla
pub fn slerp_chromatic(self, to: Hsla, factor: Factor) -> Hsla
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<Hsla, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hsla, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl From<Hsla> for BorderSide
impl From<Hsla> for BorderSide
source§fn from(color: Hsla) -> BorderSide
fn from(color: Hsla) -> BorderSide
Solid color.
source§impl From<Hsla> for BorderSides
impl From<Hsla> for BorderSides
source§fn from(color: Hsla) -> BorderSides
fn from(color: Hsla) -> BorderSides
All sides solid color.
source§impl From<Hsla> for GradientStop
impl From<Hsla> for GradientStop
source§fn from(positional_color: Hsla) -> GradientStop
fn from(positional_color: Hsla) -> GradientStop
Conversion to positional color.
source§impl From<Hsla> for PreMulRgba
impl From<Hsla> for PreMulRgba
source§fn from(c: Hsla) -> PreMulRgba
fn from(c: Hsla) -> PreMulRgba
source§impl From<PreMulRgba> for Hsla
impl From<PreMulRgba> for Hsla
source§fn from(c: PreMulRgba) -> Hsla
fn from(c: PreMulRgba) -> Hsla
source§impl IntoVar<BorderSide> for Hsla
impl IntoVar<BorderSide> for Hsla
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
BoxedVar<T>
. Read moresource§impl IntoVar<BorderSides> for Hsla
impl IntoVar<BorderSides> for Hsla
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
BoxedVar<T>
. Read moresource§impl IntoVar<GradientStop> for Hsla
impl IntoVar<GradientStop> for Hsla
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
BoxedVar<T>
. Read moresource§impl IntoVar<Hsla> for PreMulRgba
impl IntoVar<Hsla> for PreMulRgba
source§impl IntoVar<PreMulRgba> for Hsla
impl IntoVar<PreMulRgba> for Hsla
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
BoxedVar<T>
. Read moresource§impl MixAdjust for Hsla
impl MixAdjust for Hsla
source§fn mix_normal(self, background: Hsla) -> Hsla
fn mix_normal(self, background: Hsla) -> Hsla
source§fn mix_multiply(self, background: Hsla) -> Hsla
fn mix_multiply(self, background: Hsla) -> Hsla
source§fn mix_screen(self, background: Hsla) -> Hsla
fn mix_screen(self, background: Hsla) -> Hsla
source§fn mix_overlay(self, background: Hsla) -> Hsla
fn mix_overlay(self, background: Hsla) -> Hsla
source§fn mix_darken(self, background: Hsla) -> Hsla
fn mix_darken(self, background: Hsla) -> Hsla
source§fn mix_lighten(self, background: Hsla) -> Hsla
fn mix_lighten(self, background: Hsla) -> Hsla
source§fn mix_colordodge(self, background: Hsla) -> Hsla
fn mix_colordodge(self, background: Hsla) -> Hsla
source§fn mix_colorburn(self, background: Hsla) -> Hsla
fn mix_colorburn(self, background: Hsla) -> Hsla
source§fn mix_hardlight(self, background: Hsla) -> Hsla
fn mix_hardlight(self, background: Hsla) -> Hsla
source§fn mix_softlight(self, background: Hsla) -> Hsla
fn mix_softlight(self, background: Hsla) -> Hsla
source§fn mix_difference(self, background: Hsla) -> Hsla
fn mix_difference(self, background: Hsla) -> Hsla
source§fn mix_exclusion(self, background: Hsla) -> Hsla
fn mix_exclusion(self, background: Hsla) -> Hsla
source§fn mix_saturation(self, background: Hsla) -> Hsla
fn mix_saturation(self, background: Hsla) -> Hsla
source§fn mix_luminosity(self, background: Hsla) -> Hsla
fn mix_luminosity(self, background: Hsla) -> Hsla
source§fn darken<A>(self, amount: A) -> Hsla
fn darken<A>(self, amount: A) -> Hsla
amount
from the color lightness. Read moresource§fn desaturate<A>(self, amount: A) -> Hsla
fn desaturate<A>(self, amount: A) -> Hsla
amount
from the color saturation. Read moresource§fn with_lightness<L>(self, lightness: L) -> Hsla
fn with_lightness<L>(self, lightness: L) -> Hsla
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 Serialize for Hsla
impl Serialize for Hsla
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
source§impl Transitionable for Hsla
impl Transitionable for Hsla
impl Copy for Hsla
impl IntoValue<BorderSide> for Hsla
impl IntoValue<BorderSides> 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§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
)source§impl<T> DataNoteValue for T
impl<T> DataNoteValue for T
§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>
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>
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)
&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)
&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
source§impl<T> FsChangeNote for T
impl<T> FsChangeNote 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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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