[][src]Struct amethyst_rendy::palette::Xyz

#[repr(C)]
pub struct Xyz<Wp = D65, T = f32> where
    T: Component + Float,
    Wp: WhitePoint
{ pub x: T, pub y: T, pub z: T, pub white_point: PhantomData<Wp>, }

The CIE 1931 XYZ color space.

XYZ links the perceived colors to their wavelengths and simply makes it possible to describe the way we see colors as numbers. It's often used when converting from one color space to an other, and requires a standard illuminant and a standard observer to be defined.

Conversions and operations on this color space depend on the defined white point

Fields

x: T

X is the scale of what can be seen as a response curve for the cone cells in the human eye. Its range depends on the white point and goes from 0.0 to 0.95047 for the default D65.

y: T

Y is the luminance of the color, where 0.0 is black and 1.0 is white.

z: T

Z is the scale of what can be seen as the blue stimulation. Its range depends on the white point and goes from 0.0 to 1.08883 for the defautl D65.

white_point: PhantomData<Wp>

The white point associated with the color's illuminant and observer. D65 for 2 degree observer is used by default.

Methods

impl<T> Xyz<D65, T> where
    T: Component + Float
[src]

pub fn new(x: T, y: T, z: T) -> Xyz<D65, T>[src]

CIE XYZ with whtie point D65.

impl<Wp, T> Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

pub fn with_wp(x: T, y: T, z: T) -> Xyz<Wp, T>[src]

CIE XYZ.

pub fn into_components(self) -> (T, T, T)[src]

Convert to a (X, Y, Z) tuple.

pub fn from_components((T, T, T)) -> Xyz<Wp, T>[src]

Convert from a (X, Y, Z) tuple.

Trait Implementations

impl<Wp, T> Default for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> Copy for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> Pixel<T> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

fn as_raw<P>(&self) -> &P where
    P: RawPixel<T> + ?Sized
[src]

Cast as a reference to raw color components.

fn as_raw_mut<P>(&mut self) -> &mut P where
    P: RawPixel<T> + ?Sized
[src]

Cast as a mutable reference to raw color components.

fn into_raw<P>(self) -> P where
    P: RawPixelSized<T>, 
[src]

Convert from raw color components.

fn from_raw<P>(pixel: &P) -> &Self where
    P: RawPixel<T> + ?Sized
[src]

Cast from a reference to raw color components.

fn from_raw_mut<P>(pixel: &mut P) -> &mut Self where
    P: RawPixel<T> + ?Sized
[src]

Cast from a mutable reference to raw color components.

Important traits for &'_ [u8]
fn from_raw_slice(slice: &[T]) -> &[Self][src]

Cast a slice of raw color components to a slice of colors. Read more

Important traits for &'_ [u8]
fn from_raw_slice_mut(slice: &mut [T]) -> &mut [Self][src]

Cast a mutable slice of raw color components to a mutable slice of colors. Read more

Important traits for &'_ [u8]
fn into_raw_slice(slice: &[Self]) -> &[T][src]

Cast a slice of colors to a slice of raw color components. Read more

Important traits for &'_ [u8]
fn into_raw_slice_mut(slice: &mut [Self]) -> &mut [T][src]

Cast a mutable slice of colors to a mutable slice of raw color components. Read more

impl<Wp, T> Clone for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<'de, Wp, T> Deserialize<'de> for Xyz<Wp, T> where
    T: Component + Float + Deserialize<'de>,
    Wp: WhitePoint
[src]

impl<Wp, T> PartialEq<Xyz<Wp, T>> for Xyz<Wp, T> where
    T: PartialEq<T> + Component + Float,
    Wp: PartialEq<Wp> + WhitePoint
[src]

impl<Wp, T> Add<T> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the + operator.

impl<Wp, T> Add<Xyz<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the + operator.

impl<Wp, T> Limited for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, P> AsMut<P> for Xyz<Wp, T> where
    P: RawPixel<T> + ?Sized,
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> FromColor<Wp, T> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

fn from_lch(inp: Lch<Wp, T>) -> Self[src]

Convert from LCh° color space

fn from_hsl<S>(inp: Hsl<S, T>) -> Self where
    S: RgbSpace<WhitePoint = Wp>, 
[src]

Convert from HSL color space

fn from_hsv<S>(inp: Hsv<S, T>) -> Self where
    S: RgbSpace<WhitePoint = Wp>, 
[src]

Convert from HSV color space

fn from_hwb<S>(inp: Hwb<S, T>) -> Self where
    S: RgbSpace<WhitePoint = Wp>, 
[src]

Convert from HWB color space

impl<Wp, T> Sub<T> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the - operator.

impl<Wp, T> Sub<Xyz<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the - operator.

impl<Wp, T> Mul<Xyz<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the * operator.

impl<Wp, T> Mul<T> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the * operator.

impl<Wp, T> IntoColor<Wp, T> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

fn into_hwb<S>(self) -> Hwb<S, T> where
    S: RgbSpace<WhitePoint = Wp>, 
[src]

Convert into HWB color space

impl<Wp, T> Mix for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Scalar = T

The type of the mixing factor.

impl<Wp, T> Into<(T, T, T)> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> Div<Xyz<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the / operator.

impl<Wp, T> Div<T> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Output = Xyz<Wp, T>

The resulting type after applying the / operator.

impl<Wp, T> ApproxEq for Xyz<Wp, T> where
    T: Component + Float + ApproxEq,
    Wp: WhitePoint,
    <T as ApproxEq>::Epsilon: Copy,
    <T as ApproxEq>::Epsilon: Float
[src]

type Epsilon = <T as ApproxEq>::Epsilon

Used for specifying relative comparisons.

impl<Wp, T, P> AsRef<P> for Xyz<Wp, T> where
    P: RawPixel<T> + ?Sized,
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> Debug for Xyz<Wp, T> where
    T: Debug + Component + Float,
    Wp: Debug + WhitePoint
[src]

impl<Wp, T> From<Xyz<Wp, T>> for Lch<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> From<Alpha<Lch<Wp, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, _S> From<Alpha<Luma<_S, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: LumaStandard<WhitePoint = Wp>, 
[src]

impl<Wp, T> From<(T, T, T)> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, _S> From<Alpha<Hsv<_S, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<Wp, T> From<Lab<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<S, T> From<Xyz<<S as RgbSpace>::WhitePoint, T>> for Alpha<Hwb<S, T>, T> where
    S: RgbSpace,
    T: Component + Float
[src]

impl<Wp, T, _S> From<Color<_S, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<Wp, T, S> From<Rgb<S, T>> for Xyz<Wp, T> where
    S: RgbStandard,
    T: Component + Float,
    Wp: WhitePoint,
    <S as RgbStandard>::Space: RgbSpace,
    <<S as RgbStandard>::Space as RgbSpace>::WhitePoint == Wp, 
[src]

impl<S, T> From<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Alpha<Rgb<S, T>, T> where
    S: RgbStandard,
    T: Component + Float
[src]

impl<S, T> From<Xyz<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T> where
    S: LumaStandard,
    T: Component + Float
[src]

impl<Wp, T> From<Xyz<Wp, T>> for Alpha<Lch<Wp, T>, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<S, T> From<Xyz<<S as LumaStandard>::WhitePoint, T>> for Alpha<Luma<S, T>, T> where
    S: LumaStandard,
    T: Component + Float
[src]

impl<S, Wp, T> From<Xyz<Wp, T>> for Rgb<S, T> where
    S: RgbStandard,
    T: Component + Float,
    Wp: WhitePoint,
    <S as RgbStandard>::Space: RgbSpace,
    <<S as RgbStandard>::Space as RgbSpace>::WhitePoint == Wp, 
[src]

impl<Wp, T> From<Xyz<Wp, T>> for Alpha<Lab<Wp, T>, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, _S> From<Alpha<Color<_S, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<Wp, T, S> From<Luma<S, T>> for Xyz<Wp, T> where
    S: LumaStandard<WhitePoint = Wp>,
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, _S> From<Hwb<_S, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<Wp, T, _S> From<Alpha<Hsl<_S, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<Wp, T> From<Xyz<Wp, T>> for Lab<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, _S> From<Hsl<_S, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<Wp, T> From<Alpha<Lab<Wp, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<S, T> From<Xyz<<S as RgbSpace>::WhitePoint, T>> for Alpha<Hsl<S, T>, T> where
    S: RgbSpace,
    T: Component + Float
[src]

impl<Wp, T> From<Alpha<Yxy<Wp, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, _S> From<Alpha<Hwb<_S, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<S, T> From<Xyz<<S as RgbSpace>::WhitePoint, T>> for Hsl<S, T> where
    S: RgbSpace,
    T: Component + Float
[src]

impl<Wp, T> From<Xyz<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<S, T> From<Xyz<<S as RgbSpace>::WhitePoint, T>> for Alpha<Hsv<S, T>, T> where
    S: RgbSpace,
    T: Component + Float
[src]

impl<Wp, T> From<Lch<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<S, T> From<Xyz<<S as RgbSpace>::WhitePoint, T>> for Hwb<S, T> where
    S: RgbSpace,
    T: Component + Float
[src]

impl<Wp, T> From<Alpha<Xyz<Wp, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> From<Yxy<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T, _S> From<Alpha<Rgb<_S, T>, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbStandard,
    <_S as RgbStandard>::Space: RgbSpace,
    <<_S as RgbStandard>::Space as RgbSpace>::WhitePoint == Wp, 
[src]

impl<S, T> From<Xyz<<S as RgbSpace>::WhitePoint, T>> for Color<S, T> where
    S: RgbSpace,
    T: Float + Component
[src]

impl<Wp, T> From<Xyz<Wp, T>> for Alpha<Yxy<Wp, T>, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<S, T> From<Xyz<<S as RgbSpace>::WhitePoint, T>> for Hsv<S, T> where
    S: RgbSpace,
    T: Component + Float
[src]

impl<Wp, T, _S> From<Hsv<_S, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

impl<Wp, T> Shade for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Scalar = T

The type of the lighten/darken amount.

fn darken(&self, amount: Self::Scalar) -> Self[src]

Darken the color by amount.

impl<Wp, T> Serialize for Xyz<Wp, T> where
    T: Component + Float + Serialize,
    Wp: WhitePoint
[src]

impl<Wp, T> ComponentWise for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

type Scalar = T

The scalar type for color components.

Auto Trait Implementations

impl<Wp, T> Unpin for Xyz<Wp, T> where
    T: Unpin,
    Wp: Unpin

impl<Wp, T> Sync for Xyz<Wp, T> where
    T: Sync,
    Wp: Sync

impl<Wp, T> Send for Xyz<Wp, T> where
    T: Send,
    Wp: Send

impl<Wp, T> UnwindSafe for Xyz<Wp, T> where
    T: UnwindSafe,
    Wp: UnwindSafe

impl<Wp, T> RefUnwindSafe for Xyz<Wp, T> where
    T: RefUnwindSafe,
    Wp: RefUnwindSafe

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for D where
    D: FromColor<Dwp, T>,
    Dwp: WhitePoint,
    S: IntoColor<Swp, T>,
    Swp: WhitePoint,
    T: Component + Float
[src]

fn adapt_from(color: S) -> Self[src]

Convert the source color to the destination color using the bradford method by default Read more

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float
[src]

fn adapt_into(self) -> D[src]

Convert the source color to the destination color using the bradford method by default Read more

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> SetParameter for T[src]

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 
[src]

Sets value as a parameter of self.

impl<T> Supports<T> for T[src]

impl<T> Erased for T[src]

impl<T> Serialize for T where
    T: Serialize + ?Sized
[src]

impl<T> Scalar for T where
    T: Copy + PartialEq<T> + Any + Debug
[src]

fn is<T>() -> bool where
    T: Scalar
[src]

Tests if Self the same as the type T Read more

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> Resource for T where
    T: Any + Send + Sync
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> TryDefault for T where
    T: Default
[src]

fn unwrap_default() -> Self[src]

Calls try_default and panics on an error case.

impl<T> Event for T where
    T: Send + Sync + 'static, 
[src]

impl<T> Clone for T where
    T: Clone
[src]

impl<T> Config for T where
    T: Deserialize<'a> + Serialize + Default
[src]