primitives/foundation/colorspace/
marker.rs

1use super::*;
2
3/// Defines ColorTransition marker
4pub trait ColorTransition: Clone + Copy + From<Color> + Into<Color> {}
5
6/// Defines ColorSpace marker
7pub trait ColorSpace: ColorTransition {}
8
9/// Defines NonRgbSpace marker
10pub trait NonRgbSpace: ColorTransition {}
11
12/// Defines NonRadialSpace marker
13pub trait NonRadialSpace: ColorTransition {}
14
15/// Defines NonSaturationSpace marker
16pub trait NonSaturationSpace: ColorTransition {}
17
18impl ColorTransition for Color {}
19impl ColorTransition for RgbColor {}
20impl ColorTransition for RgbaColor {}
21impl ColorTransition for HslColor {}
22impl ColorTransition for HsvColor {}
23impl ColorTransition for CmykColor {}
24impl ColorTransition for CmyColor {}
25#[cfg(feature = "experimental")]
26impl ColorTransition for LabColor {}
27#[cfg(feature = "experimental")]
28impl ColorTransition for XyzColor {}
29
30impl ColorSpace for RgbColor {}
31impl ColorSpace for RgbaColor {}
32impl ColorSpace for HslColor {}
33impl ColorSpace for HsvColor {}
34impl ColorSpace for CmykColor {}
35impl ColorSpace for CmyColor {}
36#[cfg(feature = "experimental")]
37impl ColorSpace for LabColor {}
38#[cfg(feature = "experimental")]
39impl ColorSpace for XyzColor {}
40
41impl NonRgbSpace for HslColor {}
42impl NonRgbSpace for HsvColor {}
43impl NonRgbSpace for CmykColor {}
44impl NonRgbSpace for CmyColor {}
45#[cfg(feature = "experimental")]
46impl NonRgbSpace for LabColor {}
47#[cfg(feature = "experimental")]
48impl NonRgbSpace for XyzColor {}
49
50impl NonRadialSpace for Color {}
51impl NonRadialSpace for RgbColor {}
52impl NonRadialSpace for RgbaColor {}
53impl NonRadialSpace for CmykColor {}
54impl NonRadialSpace for CmyColor {}
55#[cfg(feature = "experimental")]
56impl NonRadialSpace for LabColor {}
57#[cfg(feature = "experimental")]
58impl NonRadialSpace for XyzColor {}
59
60impl NonSaturationSpace for Color {}
61impl NonSaturationSpace for RgbColor {}
62impl NonSaturationSpace for RgbaColor {}
63impl NonSaturationSpace for CmykColor {}
64impl NonSaturationSpace for CmyColor {}
65#[cfg(feature = "experimental")]
66impl NonSaturationSpace for LabColor {}
67#[cfg(feature = "experimental")]
68impl NonSaturationSpace for XyzColor {}