dolphin_views.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. bool locked;
  38. } DolphinViewLockMenuModel;
  39. typedef struct {
  40. IconAnimation* animation;
  41. uint8_t scene_num;
  42. uint8_t hint_timeout;
  43. bool locked;
  44. } DolphinViewMainModel;
  45. void dolphin_view_idle_main_draw(Canvas* canvas, void* model);
  46. bool dolphin_view_idle_main_input(InputEvent* event, void* context);
  47. void dolphin_view_idle_up_draw(Canvas* canvas, void* model);
  48. void dolphin_view_lockmenu_draw(Canvas* canvas, void* model);
  49. void dolphin_view_idle_down_draw(Canvas* canvas, void* model);
  50. void dolphin_view_hw_mismatch_draw(Canvas* canvas, void* model);
  51. uint32_t dolphin_view_idle_back(void* context);