pub trait ComponentWise {
    type Scalar;

    // Required methods
    fn component_wise<F: FnMut(Self::Scalar, Self::Scalar) -> Self::Scalar>(
        &self,
        other: &Self,
        f: F
    ) -> Self;
    fn component_wise_self<F: FnMut(Self::Scalar) -> Self::Scalar>(
        &self,
        f: F
    ) -> Self;
}
Expand description

Perform a unary or binary operation on each component of a color.

Required Associated Types§

source

type Scalar

The scalar type for color components.

Required Methods§

source

fn component_wise<F: FnMut(Self::Scalar, Self::Scalar) -> Self::Scalar>( &self, other: &Self, f: F ) -> Self

Perform a binary operation on this and an other color.

source

fn component_wise_self<F: FnMut(Self::Scalar) -> Self::Scalar>( &self, f: F ) -> Self

Perform a unary operation on this color.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<C: ComponentWise<Scalar = T>, T: Float> ComponentWise for PreAlpha<C, T>

§

type Scalar = T

source§

impl<C: ComponentWise<Scalar = T>, T: Clone> ComponentWise for Alpha<C, T>

§

type Scalar = T

source§

impl<S, T> ComponentWise for Luma<S, T>
where T: Component, S: LumaStandard,

§

type Scalar = T

source§

impl<S, T> ComponentWise for Rgb<S, T>
where S: RgbStandard, T: Component,

§

type Scalar = T

source§

impl<Wp, T> ComponentWise for Lab<Wp, T>
where T: Component + Float, Wp: WhitePoint,

§

type Scalar = T

source§

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

§

type Scalar = T

source§

impl<Wp, T> ComponentWise for Yxy<Wp, T>
where T: Component + Float, Wp: WhitePoint,

§

type Scalar = T