use crate::{ColorMap, ColorND};
#[derive(Debug, PartialEq, PartialOrd, Clone, Copy)]
pub struct Grays {
a: f32,
}
impl Grays {
pub fn new(a: f32) -> Self {
return Self {
a: a.clamp(0.0, 1.0),
};
}
pub unsafe fn new_unsafe(a: f32) -> Self {
return Self { a };
}
}
impl ColorMap<1> for Grays {
fn get_color(&self, color: ColorND<1>) -> impl crate::Color {
return unsafe { crate::colors::Grays::new_unsafe(color.get()[0], self.a) };
}
}