| 123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * @file view_dispatcher_i.h
- * GUI: ViewDispatcher API
- */
- #pragma once
- #include <m-dict.h>
- #include <gui/view_dispatcher.h>
- #include "view_i.h"
- #include "gui_i.h"
- DICT_DEF2(ViewDict, uint32_t, M_DEFAULT_OPLIST, View*, M_PTR_OPLIST) // NOLINT
- struct ViewDispatcher {
- bool is_event_loop_owned;
- FuriEventLoop* event_loop;
- FuriMessageQueue* input_queue;
- FuriMessageQueue* event_queue;
- Gui* gui;
- ViewPort* view_port;
- ViewDict_t views;
- View* current_view;
- View* ongoing_input_view;
- uint8_t ongoing_input;
- ViewDispatcherCustomEventCallback custom_event_callback;
- ViewDispatcherNavigationEventCallback navigation_event_callback;
- ViewDispatcherTickEventCallback tick_event_callback;
- uint32_t tick_period;
- void* event_context;
- };
|