34 lines
923 B
Rust
34 lines
923 B
Rust
use embedded_graphics::mono_font::MonoTextStyle;
|
|
use embedded_graphics::mono_font::ascii::FONT_10X20;
|
|
use embedded_graphics::pixelcolor::Rgb565;
|
|
use embedded_graphics::prelude::Point;
|
|
use embedded_graphics::prelude::RgbColor;
|
|
use embedded_graphics::text::Text;
|
|
use embedded_graphics::{Drawable, geometry::Size, primitives::Rectangle};
|
|
use embedded_graphics_core::draw_target::DrawTarget;
|
|
|
|
use crate::display::primary_lcd::PrimaryLcdDisplay;
|
|
|
|
pub fn show<'a>(
|
|
display: &mut PrimaryLcdDisplay<'static>,
|
|
name: &str,
|
|
position: i32,
|
|
selected: i32,
|
|
) {
|
|
let style = MonoTextStyle::new(&FONT_10X20, Rgb565::WHITE);
|
|
let selected_style = MonoTextStyle::new(&FONT_10X20, Rgb565::BLUE);
|
|
|
|
Text::new(
|
|
name,
|
|
Point::new(40, 40 + position * 40),
|
|
if position == selected {
|
|
selected_style
|
|
} else {
|
|
style
|
|
},
|
|
)
|
|
.draw(display)
|
|
.unwrap();
|
|
}
|
|
|