view_dispatcher_i.h 740 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "view_dispatcher.h"
  3. #include "view_i.h"
  4. #include <furi.h>
  5. #include <m-dict.h>
  6. DICT_DEF2(ViewDict, uint32_t, M_DEFAULT_OPLIST, View*, M_PTR_OPLIST)
  7. struct ViewDispatcher {
  8. Gui* gui;
  9. ViewPort* view_port;
  10. ViewDict_t views;
  11. View* current_view;
  12. };
  13. /* ViewPort Draw Callback */
  14. void view_dispatcher_draw_callback(Canvas* canvas, void* context);
  15. /* ViewPort Input Callback */
  16. void view_dispatcher_input_callback(InputEvent* event, void* context);
  17. /* Set current view, dispatches view enter and exit */
  18. void view_dispatcher_set_current_view(ViewDispatcher* view_dispatcher, View* view);
  19. /* View to ViewDispatcher update event */
  20. void view_dispatcher_update(ViewDispatcher* view_dispatcher, View* view);