| /// The color type that is used by all the backend |
| #[derive(Clone, Copy)] |
| pub struct BackendColor { |
| pub alpha: f64, |
| pub rgb: (u8, u8, u8), |
| } |
| |
| impl BackendColor { |
| #[inline(always)] |
| pub fn mix(&self, alpha: f64) -> Self { |
| Self { |
| alpha: self.alpha * alpha, |
| rgb: self.rgb, |
| } |
| } |
| } |
| |
| /// The style data for the backend drawing API |
| pub trait BackendStyle { |
| /// Get the color of current style |
| fn color(&self) -> BackendColor; |
| |
| /// Get the stroke width of current style |
| fn stroke_width(&self) -> u32 { |
| 1 |
| } |
| } |
| |
| impl BackendStyle for BackendColor { |
| fn color(&self) -> BackendColor { |
| *self |
| } |
| } |