dolphin_views.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. #include <gui/canvas.h>
  5. #include <input/input.h>
  6. #include <furi.h>
  7. // Idle screen
  8. typedef enum {
  9. DolphinViewIdleMain,
  10. DolphinViewFirstStart,
  11. DolphinViewStats,
  12. DolphinViewHwMismatch,
  13. DolphinViewLockMenu,
  14. } DolphinViewIdle;
  15. // Debug info
  16. typedef enum {
  17. DolphinViewStatsFw,
  18. DolphinViewStatsBoot,
  19. DolphinViewStatsMeta,
  20. DolphinViewStatsTotalCount,
  21. } DolphinViewStatsScreens;
  22. typedef struct {
  23. uint32_t page;
  24. } DolphinViewFirstStartModel;
  25. void dolphin_view_first_start_draw(Canvas* canvas, void* model);
  26. bool dolphin_view_first_start_input(InputEvent* event, void* context);
  27. typedef struct {
  28. uint32_t icounter;
  29. uint32_t butthurt;
  30. DolphinViewStatsScreens screen;
  31. } DolphinViewStatsModel;
  32. typedef struct {
  33. uint8_t idx;
  34. int8_t door_left_x;
  35. int8_t door_right_x;
  36. uint8_t exit_timeout;
  37. uint8_t hint_timeout;
  38. bool locked;
  39. } DolphinViewLockMenuModel;
  40. typedef struct {
  41. IconAnimation* animation;
  42. uint8_t scene_num;
  43. uint8_t hint_timeout;
  44. bool locked;
  45. } DolphinViewMainModel;
  46. void dolphin_view_idle_main_draw(Canvas* canvas, void* model);
  47. bool dolphin_view_idle_main_input(InputEvent* event, void* context);
  48. void dolphin_view_idle_up_draw(Canvas* canvas, void* model);
  49. void dolphin_view_lockmenu_draw(Canvas* canvas, void* model);
  50. void dolphin_view_idle_down_draw(Canvas* canvas, void* model);
  51. void dolphin_view_hw_mismatch_draw(Canvas* canvas, void* model);
  52. uint32_t dolphin_view_idle_back(void* context);