[−][src]Trait prisma::Color
The base color trait, representing any color
The main use of Color
is to manipulate and act on colors in a generic context. It is used
extensively internally.
Associated Types
type Tag
The unique tag unit struct identifying the color type
type ChannelsTuple
A tuple of types for each channel in the color
Required methods
fn num_channels() -> u32
Return how many channels the color has
fn to_tuple(self) -> Self::ChannelsTuple
Convert a color into a tuple of channels
Implementors
impl<C, E> Color for EncodedColor<C, E> where
C: Color + EncodableColor,
E: ColorEncoding + PartialEq,
[src]
C: Color + EncodableColor,
E: ColorEncoding + PartialEq,
type Tag = C::Tag
type ChannelsTuple = C::ChannelsTuple
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T> Color for Rgb<T> where
T: PosNormalChannelScalar,
[src]
T: PosNormalChannelScalar,
type Tag = RgbTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T> Color for Rgi<T> where
T: PosNormalChannelScalar + Float,
[src]
T: PosNormalChannelScalar + Float,
type Tag = RgiTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T> Color for XyY<T> where
T: FreeChannelScalar + PosNormalChannelScalar + Float,
[src]
T: FreeChannelScalar + PosNormalChannelScalar + Float,
type Tag = XyYTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T> Color for Xyz<T> where
T: FreeChannelScalar,
[src]
T: FreeChannelScalar,
type Tag = XyzTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T> Color for BareYCbCr<T> where
T: PosNormalChannelScalar + NormalChannelScalar,
[src]
T: PosNormalChannelScalar + NormalChannelScalar,
type Tag = YCbCrTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, A> Color for Hsi<T, A> where
T: PosNormalChannelScalar,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar,
A: AngularChannelScalar,
type Tag = HsiTag
type ChannelsTuple = (A, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, A> Color for Hsl<T, A> where
T: PosNormalChannelScalar,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar,
A: AngularChannelScalar,
type Tag = HslTag
type ChannelsTuple = (A, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, A> Color for Hsv<T, A> where
T: PosNormalChannelScalar,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar,
A: AngularChannelScalar,
type Tag = HsvTag
type ChannelsTuple = (A, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, A> Color for Hwb<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
type Tag = HwbTag
type ChannelsTuple = (A, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, A> Color for eHsi<T, A> where
T: PosNormalChannelScalar,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar,
A: AngularChannelScalar,
type Tag = EHsiTag
type ChannelsTuple = (A, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, C, E, S> Color for SpacedColor<T, C, E, S> where
C: Color + EncodableColor,
S: ColorSpace<T> + PartialEq + Clone,
E: ColorEncoding + PartialEq,
T: PartialEq + Clone + Float,
[src]
C: Color + EncodableColor,
S: ColorSpace<T> + PartialEq + Clone,
E: ColorEncoding + PartialEq,
T: PartialEq + Clone + Float,
type Tag = C::Tag
type ChannelsTuple = C::ChannelsTuple
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, InnerColor> Color for Alpha<T, InnerColor> where
T: PosNormalChannelScalar,
InnerColor: Color,
[src]
T: PosNormalChannelScalar,
InnerColor: Color,
type Tag = AlphaTag<InnerColor::Tag>
type ChannelsTuple = (InnerColor::ChannelsTuple, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, M> Color for YCbCr<T, M> where
T: NormalChannelScalar + PosNormalChannelScalar,
M: YCbCrModel<T>,
[src]
T: NormalChannelScalar + PosNormalChannelScalar,
M: YCbCrModel<T>,
type Tag = YCbCrTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, Model> Color for Lms<T, Model> where
T: FreeChannelScalar,
Model: LmsModel<T>,
[src]
T: FreeChannelScalar,
Model: LmsModel<T>,
type Tag = LmsTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, W> Color for Lab<T, W> where
T: FreeChannelScalar,
W: WhitePoint<T>,
[src]
T: FreeChannelScalar,
W: WhitePoint<T>,
type Tag = LabTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, W> Color for Luv<T, W> where
T: FreeChannelScalar,
W: WhitePoint<T>,
[src]
T: FreeChannelScalar,
W: WhitePoint<T>,
type Tag = LuvTag
type ChannelsTuple = (T, T, T)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, W, A> Color for Lchab<T, W, A> where
T: FreeChannelScalar,
A: AngularChannelScalar,
W: WhitePoint<T>,
[src]
T: FreeChannelScalar,
A: AngularChannelScalar,
W: WhitePoint<T>,
type Tag = LchabTag
type ChannelsTuple = (T, T, A)
fn num_channels() -> u32
[src]
fn to_tuple(self) -> Self::ChannelsTuple
[src]
impl<T, W, A> Color for Lchuv<T, W, A> where
T: FreeChannelScalar,
A: AngularChannelScalar,
W: WhitePoint<T>,
[src]
T: FreeChannelScalar,
A: AngularChannelScalar,
W: WhitePoint<T>,