Няма описание
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637
  1. use tinygfx::color::BlackWhite;
  2. use tinygfx::Renderer;
  3. pub mod clock;
  4. pub mod tiles;
  5. use clock::ClockView;
  6. use tiles::TileView;
  7. pub struct Ui {
  8. view: View,
  9. }
  10. impl Ui {
  11. pub fn view(view: View) -> Ui {
  12. Ui { view }
  13. }
  14. // TODO: Black/white/red frames or greyscale frames?
  15. pub fn draw(&self, renderer: &mut Renderer<BlackWhite>) {
  16. self.view.draw(renderer);
  17. }
  18. }
  19. pub enum View {
  20. Tiles(TileView),
  21. Clock(ClockView),
  22. }
  23. impl View {
  24. fn draw(&self, renderer: &mut Renderer<BlackWhite>) {
  25. match self {
  26. View::Tiles(view) => view.draw(renderer),
  27. View::Clock(view) => view.draw(renderer),
  28. }
  29. }
  30. }