1use crate::chan::{
16 Alpha, Ch16, Ch32, Ch8, Channel, Gamma, Linear, Premultiplied, Srgb,
17 Straight,
18};
19use crate::el::{Pix1, Pix2, Pix3, Pix4};
20use crate::ColorModel;
21use std::any::Any;
22
23pub trait Sealed: Any {}
25
26impl Sealed for Ch8 {}
27
28impl Sealed for Ch16 {}
29
30impl Sealed for Ch32 {}
31
32impl Sealed for Straight {}
33
34impl Sealed for Premultiplied {}
35
36impl Sealed for Linear {}
37
38impl Sealed for Srgb {}
39
40impl<C, M, A, G> Sealed for Pix1<C, M, A, G>
41where
42 C: Channel,
43 M: ColorModel,
44 A: Alpha,
45 G: Gamma,
46{
47}
48
49impl<C, M, A, G> Sealed for Pix2<C, M, A, G>
50where
51 C: Channel,
52 M: ColorModel,
53 A: Alpha,
54 G: Gamma,
55{
56}
57
58impl<C, M, A, G> Sealed for Pix3<C, M, A, G>
59where
60 C: Channel,
61 M: ColorModel,
62 A: Alpha,
63 G: Gamma,
64{
65}
66
67impl<C, M, A, G> Sealed for Pix4<C, M, A, G>
68where
69 C: Channel,
70 M: ColorModel,
71 A: Alpha,
72 G: Gamma,
73{
74}