[−][src]Struct nannou::prelude::Hsl
Linear HSL color space.
The HSL color space can be seen as a cylindrical version of
RGB, where the hue
is the angle around the color
cylinder, the saturation
is the distance from the center, and the
lightness
is the height from the bottom. Its composition makes it
especially good for operations like changing green to red, making a color
more gray, or making it darker.
See HSV for a very similar color space, with brightness instead of lightness.
Fields
hue: RgbHue<T>
The hue of the color, in degrees. Decides if it's red, blue, purple, etc.
saturation: T
The colorfulness of the color. 0.0 gives gray scale colors and 1.0 will give absolutely clear colors.
lightness: T
Decides how light the color will look. 0.0 will be black, 0.5 will give a clear color, and 1.0 will give white.
Methods
impl<T> Hsl<T> where
T: Float,
[src]
T: Float,
Trait Implementations
impl<T> IntoColor<T> for Hsl<T> where
T: Float,
[src]
T: Float,
fn into_xyz(self) -> Xyz<T>
[src]
fn into_yxy(self) -> Yxy<T>
[src]
fn into_lab(self) -> Lab<T>
[src]
fn into_lch(self) -> Lch<T>
[src]
fn into_rgb(self) -> Rgb<T>
[src]
fn into_hsl(self) -> Hsl<T>
[src]
fn into_hsv(self) -> Hsv<T>
[src]
fn into_luma(self) -> Luma<T>
[src]
fn into_hwb(self) -> Hwb<T>
[src]
Convert into HWB color space
impl<T> ApproxEq for Hsl<T> where
T: ApproxEq + Float,
<T as ApproxEq>::Epsilon: Copy,
<T as ApproxEq>::Epsilon: Float,
[src]
T: ApproxEq + Float,
<T as ApproxEq>::Epsilon: Copy,
<T as ApproxEq>::Epsilon: Float,
type Epsilon = <T as ApproxEq>::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> <Hsl<T> as ApproxEq>::Epsilon
[src]
fn default_max_relative() -> <Hsl<T> as ApproxEq>::Epsilon
[src]
fn default_max_ulps() -> u32
[src]
fn relative_eq(
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_relative: <Hsl<T> as ApproxEq>::Epsilon
) -> bool
[src]
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_relative: <Hsl<T> as ApproxEq>::Epsilon
) -> bool
fn ulps_eq(
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
fn relative_ne(
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_relative: <Hsl<T> as ApproxEq>::Epsilon
) -> bool
[src]
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_relative: <Hsl<T> as ApproxEq>::Epsilon
) -> bool
fn ulps_ne(
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Hsl<T>,
epsilon: <Hsl<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
impl<T> From<Hsl<T>> for Hwb<T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Yxy<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Hwb<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Hsl<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Hwb<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Lch<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Lch<T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Lch<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Color<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Luma<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Hsv<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Xyz<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Luma<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Rgb<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Yxy<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Rgb<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Lab<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Xyz<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Hsv<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsv<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Luma<T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Hsv<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Rgb<T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Xyz<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Lab<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Luma<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Hwb<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Lab<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Color<T> where
T: Float,
[src]
T: Float,
impl<T> From<Lch<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Lab<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Alpha<Rgb<T>, T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Xyz<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Alpha<Yxy<T>, T> where
T: Float,
[src]
T: Float,
impl<T> From<Hsl<T>> for Yxy<T> where
T: Float,
[src]
T: Float,
impl<T> Limited for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> Default for Hsl<T> where
T: Float,
[src]
T: Float,
impl<T> FromColor<T> for Hsl<T> where
T: Float,
[src]
T: Float,
fn from_xyz(xyz: Xyz<T>) -> Hsl<T>
[src]
fn from_rgb(rgb: Rgb<T>) -> Hsl<T>
[src]
fn from_hsl(hsl: Hsl<T>) -> Hsl<T>
[src]
fn from_hsv(hsv: Hsv<T>) -> Hsl<T>
[src]
fn from_yxy(inp: Yxy<T>) -> Self
[src]
Convert from Yxy color space
fn from_lab(inp: Lab<T>) -> Self
[src]
Convert from Lab* color space
fn from_lch(inp: Lch<T>) -> Self
[src]
Convert from LCh° color space
fn from_hwb(inp: Hwb<T>) -> Self
[src]
Convert from HWB color space
fn from_luma(inp: Luma<T>) -> Self
[src]
Convert from Luma
impl<T> Shade for Hsl<T> where
T: Float,
[src]
T: Float,
type Scalar = T
The type of the lighten/darken amount.
fn lighten(&self, amount: T) -> Hsl<T>
[src]
fn darken(&self, amount: Self::Scalar) -> Self
[src]
Darken the color by amount
.
impl<T> Debug for Hsl<T> where
T: Debug + Float,
[src]
T: Debug + Float,
impl<T> Copy for Hsl<T> where
T: Copy + Float,
[src]
T: Copy + Float,
impl<T> Mix for Hsl<T> where
T: Float,
[src]
T: Float,
type Scalar = T
The type of the mixing factor.
fn mix(&self, other: &Hsl<T>, factor: T) -> Hsl<T>
[src]
impl<T> PartialEq<Hsl<T>> for Hsl<T> where
T: PartialEq<T> + Float,
[src]
T: PartialEq<T> + Float,
impl<T> Add<Hsl<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
type Output = Hsl<T>
The resulting type after applying the +
operator.
fn add(self, other: Hsl<T>) -> Hsl<T>
[src]
impl<T> Add<T> for Hsl<T> where
T: Float,
[src]
T: Float,
type Output = Hsl<T>
The resulting type after applying the +
operator.
fn add(self, c: T) -> Hsl<T>
[src]
impl<T> Hue for Hsl<T> where
T: Float,
[src]
T: Float,
fn with_hue(&self, hue: RgbHue<T>) -> Hsl<T>
[src]
fn shift_hue(&self, amount: RgbHue<T>) -> Hsl<T>
[src]
impl<T> Sub<T> for Hsl<T> where
T: Float,
[src]
T: Float,
type Output = Hsl<T>
The resulting type after applying the -
operator.
fn sub(self, c: T) -> Hsl<T>
[src]
impl<T> Sub<Hsl<T>> for Hsl<T> where
T: Float,
[src]
T: Float,
type Output = Hsl<T>
The resulting type after applying the -
operator.
fn sub(self, other: Hsl<T>) -> Hsl<T>
[src]
impl<T> Saturate for Hsl<T> where
T: Float,
[src]
T: Float,
type Scalar = T
The type of the (de)saturation factor.
fn saturate(&self, factor: T) -> Hsl<T>
[src]
fn desaturate(&self, factor: Self::Scalar) -> Self
[src]
Decrease the saturation by factor
.
impl<T> GetHue for Hsl<T> where
T: Float,
[src]
T: Float,
type Hue = RgbHue<T>
The kind of hue unit this color space uses. Read more
fn get_hue(&self) -> Option<RgbHue<T>>
[src]
impl<T> Clone for Hsl<T> where
T: Clone + Float,
[src]
T: Clone + Float,
fn clone(&self) -> Hsl<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<S> IntoRgba<S> for Hsl<S> where
S: Float + One,
[src]
S: Float + One,
Auto Trait Implementations
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Style for T where
T: Any + Debug + PartialEq<T>,
[src]
T: Any + Debug + PartialEq<T>,
impl<T> Content for T
[src]
fn ref_from_ptr(ptr: *mut c_void, size: usize) -> Option<*mut T>
[src]
fn is_size_suitable(size: usize) -> bool
[src]
fn indiv_size() -> usize
[src]
impl<T> SafeBorrow<T> for T
[src]
impl<T> Erased for T
impl<S> FromSample<S> for S
[src]
fn from_sample_(s: S) -> S
[src]
impl<T, U> ToSample<U> for T where
U: FromSample<T>,
[src]
U: FromSample<T>,
fn to_sample_(self) -> U
[src]
impl<S, T> Duplex<S> for T where
T: FromSample<S> + ToSample<S>,
[src]
T: FromSample<S> + ToSample<S>,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of self
.
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of self
.