Struct palette::LabHue [] [src]

#[repr(C)]
pub struct LabHue<T: Float = f32>(_);

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]

Create a new hue from degrees.

Create a new hue from radians, instead of degrees.

Get the hue as degrees, in the range (-180, 180].

Convert the hue to radians, in the range (-π, π].

Convert the hue to positive degrees, in the range [0, 360).

Convert the hue to positive radians, in the range [0, 2π).

Get the internal representation, without normalizing it.

Get the internal representation as radians, without normalizing it.

Trait Implementations

impl<T: Clone + Float> Clone for LabHue<T>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<T: Copy + Float> Copy for LabHue<T>
[src]

impl<T: Debug + Float> Debug for LabHue<T>
[src]

Formats the value using the given formatter. Read more

impl<T: Default + Float> Default for LabHue<T>
[src]

Returns the "default value" for a type. Read more

impl<T: Float> From<T> for LabHue<T>
[src]

Performs the conversion.

impl Into<f64> for LabHue<f64>
[src]

Performs the conversion.

impl Into<f32> for LabHue<f32>
[src]

Performs the conversion.

impl Into<f32> for LabHue<f64>
[src]

Performs the conversion.

impl<T: Float> PartialEq for LabHue<T>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<T: Float> PartialEq<T> for LabHue<T>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<T: Float> Add<LabHue<T>> for LabHue<T>
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl<T: Float> Add<T> for LabHue<T>
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl Add<LabHue<f32>> for f32
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl Add<LabHue<f64>> for f64
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl<T: Float> Sub<LabHue<T>> for LabHue<T>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<T: Float> Sub<T> for LabHue<T>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<LabHue<f32>> for f32
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<LabHue<f64>> for f64
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<T: Float + AbsDiffEq> AbsDiffEq for LabHue<T> where
    T::Epsilon: Float
[src]

Used for specifying relative comparisons.

The default tolerance to use when testing values that are close together. Read more

A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more

The inverse of ApproxEq::abs_diff_eq.

impl<T: Float + RelativeEq> RelativeEq for LabHue<T> where
    T::Epsilon: Float
[src]

The default relative tolerance for testing values that are far-apart. Read more

A test for equality that uses a relative comparison if the values are far apart.

The inverse of ApproxEq::relative_eq.

impl<T: Float + UlpsEq> UlpsEq for LabHue<T> where
    T::Epsilon: Float
[src]

The default ULPs to tolerate when testing values that are far-apart. Read more

A test for equality that uses units in the last place (ULP) if the values are far apart.

The inverse of ApproxEq::ulps_eq.

Auto Trait Implementations

impl<T> Send for LabHue<T> where
    T: Send

impl<T> Sync for LabHue<T> where
    T: Sync