use std::fmt::{Debug, Formatter};
use crate::RGBA32;
mod convert;
mod display;
mod hsla32;
#[derive(Clone, Copy, PartialEq, PartialOrd)]
pub struct HSLA32 {
pub h: f32,
pub s: f32,
pub l: f32,
pub a: f32,
}
#[derive(Clone, Copy, PartialEq, PartialOrd)]
pub struct HSVA32 {
pub h: f32,
pub s: f32,
pub v: f32,
pub a: f32,
}
impl HSVA32 {
pub fn normalized(&self) -> HSVA32 {
let mut h = self.h % 360.0;
if h < 0.0 {
h += 360.0;
}
Self { h, s: self.s.max(0.0).min(1.0), v: self.v.max(0.0).min(1.0), a: self.a.max(0.0).min(1.0) }
}
}