Trait nannou::color::Mix

source ·
pub trait Mix {
    type Scalar: Float;

    // Required method
    fn mix(&self, other: &Self, factor: Self::Scalar) -> Self;
}
Expand description

A trait for linear color interpolation.

use palette::{LinSrgb, Mix};

let a = LinSrgb::new(0.0, 0.5, 1.0);
let b = LinSrgb::new(1.0, 0.5, 0.0);

assert_eq!(a.mix(&b, 0.0), a);
assert_eq!(a.mix(&b, 0.5), LinSrgb::new(0.5, 0.5, 0.5));
assert_eq!(a.mix(&b, 1.0), b);

Required Associated Types§

source

type Scalar: Float

The type of the mixing factor.

Required Methods§

source

fn mix(&self, other: &Self, factor: Self::Scalar) -> Self

Mix the color with an other color, by factor.

factor sould be between 0.0 and 1.0, where 0.0 will result in the same color as self and 1.0 will result in the same color as other.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<C> Mix for PreAlpha<C, <C as Mix>::Scalar>
where C: Mix,

§

type Scalar = <C as Mix>::Scalar

source§

impl<C> Mix for Alpha<C, <C as Mix>::Scalar>
where C: Mix,

§

type Scalar = <C as Mix>::Scalar

source§

impl<S, T> Mix for Luma<S, T>
where T: Component + Float, S: LumaStandard<TransferFn = LinearFn>,

§

type Scalar = T

source§

impl<S, T> Mix for Rgb<S, T>
where S: RgbStandard<TransferFn = LinearFn>, T: Component + Float,

§

type Scalar = T

source§

impl<S, T> Mix for Hsl<S, T>
where T: Component + Float, S: RgbSpace,

§

type Scalar = T

source§

impl<S, T> Mix for Hsv<S, T>
where T: Component + Float, S: RgbSpace,

§

type Scalar = T

source§

impl<S, T> Mix for Hwb<S, T>
where T: Component + Float, S: RgbSpace,

§

type Scalar = T

source§

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

§

type Scalar = T

source§

impl<Wp, T> Mix for Lch<Wp, T>
where T: Component + Float, Wp: WhitePoint,

§

type Scalar = T

source§

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

§

type Scalar = T

source§

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

§

type Scalar = T