Struct palette::LabHue [−][src]
A hue type for the CIE L*a*b* family of color spaces.
It's measured in degrees and it's based on the four physiological elementary colors red, yellow, green and blue. This makes it different from the hue of RGB based color spaces.
The hue is a circular type, where 0
and 360
is the same, and
it's normalized to (-180, 180]
when it's converted to a linear
number (like f32
). This makes many calculations easier, but may
also have some surprising effects if it's expected to act as a
linear number.
Methods
impl<T: Float> LabHue<T>
[src]
impl<T: Float> LabHue<T>
pub fn from_degrees(degrees: T) -> LabHue<T>
[src]
pub fn from_degrees(degrees: T) -> LabHue<T>
Create a new hue from degrees.
pub fn from_radians(radians: T) -> LabHue<T>
[src]
pub fn from_radians(radians: T) -> LabHue<T>
Create a new hue from radians, instead of degrees.
pub fn to_degrees(self) -> T
[src]
pub fn to_degrees(self) -> T
Get the hue as degrees, in the range (-180, 180]
.
pub fn to_radians(self) -> T
[src]
pub fn to_radians(self) -> T
Convert the hue to radians, in the range (-π, π]
.
pub fn to_positive_degrees(self) -> T
[src]
pub fn to_positive_degrees(self) -> T
Convert the hue to positive degrees, in the range [0, 360)
.
pub fn to_positive_radians(self) -> T
[src]
pub fn to_positive_radians(self) -> T
Convert the hue to positive radians, in the range [0, 2π)
.
pub fn to_raw_degrees(self) -> T
[src]
pub fn to_raw_degrees(self) -> T
Get the internal representation, without normalizing it.
pub fn to_raw_radians(self) -> T
[src]
pub fn to_raw_radians(self) -> T
Get the internal representation as radians, without normalizing it.
Trait Implementations
impl<T: Clone + Float> Clone for LabHue<T>
[src]
impl<T: Clone + Float> Clone for LabHue<T>
fn clone(&self) -> LabHue<T>
[src]
fn clone(&self) -> LabHue<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<T: Copy + Float> Copy for LabHue<T>
[src]
impl<T: Copy + Float> Copy for LabHue<T>
impl<T: Debug + Float> Debug for LabHue<T>
[src]
impl<T: Debug + Float> Debug for LabHue<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T: Default + Float> Default for LabHue<T>
[src]
impl<T: Default + Float> Default for LabHue<T>
impl<T: Float> From<T> for LabHue<T>
[src]
impl<T: Float> From<T> for LabHue<T>
impl Into<f64> for LabHue<f64>
[src]
impl Into<f64> for LabHue<f64>
impl Into<f32> for LabHue<f32>
[src]
impl Into<f32> for LabHue<f32>
impl Into<f32> for LabHue<f64>
[src]
impl Into<f32> for LabHue<f64>
impl<T: Float> PartialEq for LabHue<T>
[src]
impl<T: Float> PartialEq for LabHue<T>
fn eq(&self, other: &LabHue<T>) -> bool
[src]
fn eq(&self, other: &LabHue<T>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl<T: Float> PartialEq<T> for LabHue<T>
[src]
impl<T: Float> PartialEq<T> for LabHue<T>
fn eq(&self, other: &T) -> bool
[src]
fn eq(&self, other: &T) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl<T: Float> Add<LabHue<T>> for LabHue<T>
[src]
impl<T: Float> Add<LabHue<T>> for LabHue<T>
type Output = LabHue<T>
The resulting type after applying the +
operator.
fn add(self, other: LabHue<T>) -> LabHue<T>
[src]
fn add(self, other: LabHue<T>) -> LabHue<T>
Performs the +
operation.
impl<T: Float> Add<T> for LabHue<T>
[src]
impl<T: Float> Add<T> for LabHue<T>
type Output = LabHue<T>
The resulting type after applying the +
operator.
fn add(self, other: T) -> LabHue<T>
[src]
fn add(self, other: T) -> LabHue<T>
Performs the +
operation.
impl Add<LabHue<f32>> for f32
[src]
impl Add<LabHue<f32>> for f32
type Output = LabHue<f32>
The resulting type after applying the +
operator.
fn add(self, other: LabHue<f32>) -> LabHue<f32>
[src]
fn add(self, other: LabHue<f32>) -> LabHue<f32>
Performs the +
operation.
impl Add<LabHue<f64>> for f64
[src]
impl Add<LabHue<f64>> for f64
type Output = LabHue<f64>
The resulting type after applying the +
operator.
fn add(self, other: LabHue<f64>) -> LabHue<f64>
[src]
fn add(self, other: LabHue<f64>) -> LabHue<f64>
Performs the +
operation.
impl<T: Float> Sub<LabHue<T>> for LabHue<T>
[src]
impl<T: Float> Sub<LabHue<T>> for LabHue<T>
type Output = LabHue<T>
The resulting type after applying the -
operator.
fn sub(self, other: LabHue<T>) -> LabHue<T>
[src]
fn sub(self, other: LabHue<T>) -> LabHue<T>
Performs the -
operation.
impl<T: Float> Sub<T> for LabHue<T>
[src]
impl<T: Float> Sub<T> for LabHue<T>
type Output = LabHue<T>
The resulting type after applying the -
operator.
fn sub(self, other: T) -> LabHue<T>
[src]
fn sub(self, other: T) -> LabHue<T>
Performs the -
operation.
impl Sub<LabHue<f32>> for f32
[src]
impl Sub<LabHue<f32>> for f32
type Output = LabHue<f32>
The resulting type after applying the -
operator.
fn sub(self, other: LabHue<f32>) -> LabHue<f32>
[src]
fn sub(self, other: LabHue<f32>) -> LabHue<f32>
Performs the -
operation.
impl Sub<LabHue<f64>> for f64
[src]
impl Sub<LabHue<f64>> for f64
type Output = LabHue<f64>
The resulting type after applying the -
operator.
fn sub(self, other: LabHue<f64>) -> LabHue<f64>
[src]
fn sub(self, other: LabHue<f64>) -> LabHue<f64>
Performs the -
operation.
impl<T: Float + ApproxEq> ApproxEq for LabHue<T> where
<T as ApproxEq>::Epsilon: Float,
[src]
impl<T: Float + ApproxEq> ApproxEq for LabHue<T> where
<T as ApproxEq>::Epsilon: Float,
type Epsilon = <T as ApproxEq>::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn default_epsilon() -> Self::Epsilon
The default tolerance to use when testing values that are close together. Read more
fn default_max_relative() -> Self::Epsilon
[src]
fn default_max_relative() -> Self::Epsilon
The default relative tolerance for testing values that are far-apart. Read more
fn default_max_ulps() -> u32
[src]
fn default_max_ulps() -> u32
The default ULPs to tolerate when testing values that are far-apart. Read more
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
A test for equality that uses a relative comparison if the values are far apart.
fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool
[src]
fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool
A test for equality that uses units in the last place (ULP) if the values are far apart.
fn relative_ne(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
fn relative_ne(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
The inverse of ApproxEq::relative_eq
.
fn ulps_ne(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool
[src]
fn ulps_ne(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool
The inverse of ApproxEq::ulps_eq
.