desktop_view_lock_menu.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <gui/view.h>
  3. #include "desktop_events.h"
  4. #define HINT_TIMEOUT 2
  5. typedef struct DesktopLockMenuView DesktopLockMenuView;
  6. typedef void (*DesktopLockMenuViewCallback)(DesktopEvent event, void* context);
  7. struct DesktopLockMenuView {
  8. View* view;
  9. DesktopLockMenuViewCallback callback;
  10. void* context;
  11. };
  12. typedef struct {
  13. uint8_t idx;
  14. bool pin_is_set;
  15. bool dummy_mode;
  16. bool stealth_mode;
  17. } DesktopLockMenuViewModel;
  18. void desktop_lock_menu_set_callback(
  19. DesktopLockMenuView* lock_menu,
  20. DesktopLockMenuViewCallback callback,
  21. void* context);
  22. View* desktop_lock_menu_get_view(DesktopLockMenuView* lock_menu);
  23. void desktop_lock_menu_set_pin_state(DesktopLockMenuView* lock_menu, bool pin_is_set);
  24. void desktop_lock_menu_set_dummy_mode_state(DesktopLockMenuView* lock_menu, bool dummy_mode);
  25. void desktop_lock_menu_set_stealth_mode_state(DesktopLockMenuView* lock_menu, bool stealth_mode);
  26. void desktop_lock_menu_set_idx(DesktopLockMenuView* lock_menu, uint8_t idx);
  27. DesktopLockMenuView* desktop_lock_menu_alloc();
  28. void desktop_lock_menu_free(DesktopLockMenuView* lock_menu);