1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use std::fmt; use super::*; #[derive(Clone, Copy, PartialEq, Debug)] pub struct HsvColor { pub h: f64, // hue pub s: f64, // saturation pub v: f64, // value } impl fmt::Display for HsvColor { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "hsv({}, {}, {})", self.h, self.s, self.v) } } impl ToHexString for HsvColor { fn to_hex_string(&self) -> String { RgbColor::from(*self).to_hex_string() } }