use crate::color::Rgb; #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum BackgroundColor { Empty, Simple(u8), Rgb(Rgb), } impl From<u8> for BackgroundColor { fn from(color: u8) -> Self { BackgroundColor::Simple(color) } } impl From<Rgb> for BackgroundColor { fn from(color: Rgb) -> Self { BackgroundColor::Rgb(color) } } impl From<&[u8; 3]> for BackgroundColor { fn from(color: &[u8; 3]) -> Self { BackgroundColor::Rgb(Rgb::new(color[0], color[1], color[2])) } } impl From<&str> for BackgroundColor { fn from(color: &str) -> Self { BackgroundColor::Rgb(Rgb::from(color)) } }