fll_rs/lego/
graphics_impl.rs

1use crate::{error::Result, graphics::display::Display};
2use ev3dev_lang_rust::Screen;
3
4/// Implemention of `Display` for ev3dev
5pub struct LegoDisplay {
6    screen: Screen,
7}
8
9impl LegoDisplay {
10    pub fn new() -> Result<Self> {
11        let screen = Screen::new()?;
12
13        Ok(LegoDisplay { screen })
14    }
15}
16
17impl Display for LegoDisplay {
18    fn get_image(&self) -> &image::RgbImage {
19        &self.screen.image
20    }
21
22    fn get_image_mut(&mut self) -> &mut image::RgbImage {
23        &mut self.screen.image
24    }
25
26    fn update(&mut self) {
27        self.screen.update()
28    }
29}