embedded_menu/theme/
mod.rs

1use embedded_graphics::{pixelcolor::BinaryColor, prelude::PixelColor};
2
3pub trait Theme: Copy {
4    type Color: PixelColor + Default;
5
6    fn text_color(&self) -> Self::Color;
7    fn selected_text_color(&self) -> Self::Color;
8    fn selection_color(&self) -> Self::Color;
9}
10
11impl Theme for BinaryColor {
12    type Color = BinaryColor;
13
14    fn text_color(&self) -> Self::Color {
15        *self
16    }
17
18    fn selected_text_color(&self) -> Self::Color {
19        self.invert()
20    }
21
22    fn selection_color(&self) -> Self::Color {
23        *self
24    }
25}