pub mod color_spaces;
mod tests;
#[cfg(feature = "serde")]
#[macro_use]
extern crate serde;
#[repr(C)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Copy, Clone, Debug, Default, PartialEq, PartialOrd, Eq, Hash, Ord)]
pub struct HSL<T> {
pub h: T,
pub s: T,
pub l: T,
}
#[repr(C)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Copy, Clone, Debug, Default, PartialEq, PartialOrd, Eq, Hash, Ord)]
pub struct HSV<T> {
pub h: T,
pub s: T,
pub v: T,
}
#[repr(C)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Copy, Clone, Debug, Default, PartialEq, PartialOrd, Eq, Hash, Ord)]
pub struct Luma<T> {
pub luminance: T,
}
#[repr(C)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Copy, Clone, Debug, Default, PartialEq, PartialOrd, Eq, Hash, Ord)]
pub struct CMYK<T> {
pub c: T,
pub m: T,
pub y: T,
pub k: T,
}
#[repr(C)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Copy, Clone, Debug, Default, PartialEq, PartialOrd, Eq, Hash, Ord)]
pub struct CMY<T> {
pub c: T,
pub m: T,
pub y: T,
}