Flipper Zero Firmware
Loading...
Searching...
No Matches
view_dispatcher.h
Go to the documentation of this file.
1
16#pragma once
17
18#include "view.h"
19#include "gui.h"
20#include "scene_manager.h"
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
32
33typedef struct ViewDispatcher ViewDispatcher;
34
36typedef bool (*ViewDispatcherCustomEventCallback)(void* context, uint32_t event);
37
39typedef bool (*ViewDispatcherNavigationEventCallback)(void* context);
40
42typedef void (*ViewDispatcherTickEventCallback)(void* context);
43
49
57void view_dispatcher_free(ViewDispatcher* view_dispatcher);
58
67FURI_DEPRECATED void view_dispatcher_enable_queue(ViewDispatcher* view_dispatcher);
68
74void view_dispatcher_send_custom_event(ViewDispatcher* view_dispatcher, uint32_t event);
75
84 ViewDispatcher* view_dispatcher,
86
95 ViewDispatcher* view_dispatcher,
97
105 ViewDispatcher* view_dispatcher,
107 uint32_t tick_period);
108
114void view_dispatcher_set_event_callback_context(ViewDispatcher* view_dispatcher, void* context);
115
129
137void view_dispatcher_run(ViewDispatcher* view_dispatcher);
138
143void view_dispatcher_stop(ViewDispatcher* view_dispatcher);
144
151void view_dispatcher_add_view(ViewDispatcher* view_dispatcher, uint32_t view_id, View* view);
152
158void view_dispatcher_remove_view(ViewDispatcher* view_dispatcher, uint32_t view_id);
159
167void view_dispatcher_switch_to_view(ViewDispatcher* view_dispatcher, uint32_t view_id);
168
173void view_dispatcher_send_to_front(ViewDispatcher* view_dispatcher);
174
179void view_dispatcher_send_to_back(ViewDispatcher* view_dispatcher);
180
188 ViewDispatcher* view_dispatcher,
189 Gui* gui,
190 ViewDispatcherType type);
191
192#ifdef __cplusplus
193}
194#endif
GUI: main API.
GUI: SceneManager API.
Definition event_loop_i.h:79
Gui structure.
Definition gui_i.h:47
Definition view_dispatcher_i.h:16
Definition view_i.h:16
GUI: View API.
void view_dispatcher_add_view(ViewDispatcher *view_dispatcher, uint32_t view_id, View *view)
Add view to ViewDispatcher.
Definition view_dispatcher.c:135
void view_dispatcher_set_custom_event_callback(ViewDispatcher *view_dispatcher, ViewDispatcherCustomEventCallback callback)
Set custom event handler.
Definition view_dispatcher.c:76
void view_dispatcher_send_to_front(ViewDispatcher *view_dispatcher)
Send ViewPort of this ViewDispatcher instance to front.
Definition view_dispatcher.c:198
void view_dispatcher_send_to_back(ViewDispatcher *view_dispatcher)
Send ViewPort of this ViewDispatcher instance to back.
Definition view_dispatcher.c:204
ViewDispatcherType
ViewDispatcher view_port placement.
Definition view_dispatcher.h:27
@ ViewDispatcherTypeWindow
Window layer: with status bar
Definition view_dispatcher.h:29
@ ViewDispatcherTypeFullscreen
Fullscreen layer: without status bar.
Definition view_dispatcher.h:30
@ ViewDispatcherTypeDesktop
Desktop layer: fullscreen with status bar on top of it.
Definition view_dispatcher.h:28
bool(* ViewDispatcherNavigationEventCallback)(void *context)
Prototype for navigation event callback.
Definition view_dispatcher.h:39
bool(* ViewDispatcherCustomEventCallback)(void *context, uint32_t event)
Prototype for custom event callback.
Definition view_dispatcher.h:36
ViewDispatcher * view_dispatcher_alloc(void)
Allocate ViewDispatcher instance.
Definition view_dispatcher.c:7
void view_dispatcher_set_event_callback_context(ViewDispatcher *view_dispatcher, void *context)
Set event callback context.
Definition view_dispatcher.c:92
void view_dispatcher_free(ViewDispatcher *view_dispatcher)
Free ViewDispatcher instance.
Definition view_dispatcher.c:42
void view_dispatcher_switch_to_view(ViewDispatcher *view_dispatcher, uint32_t view_id)
Switch to View.
Definition view_dispatcher.c:186
FURI_DEPRECATED void view_dispatcher_enable_queue(ViewDispatcher *view_dispatcher)
Enable queue support.
Definition view_dispatcher.c:65
void(* ViewDispatcherTickEventCallback)(void *context)
Prototype for tick event callback.
Definition view_dispatcher.h:42
void view_dispatcher_send_custom_event(ViewDispatcher *view_dispatcher, uint32_t event)
Send custom event.
Definition view_dispatcher.c:319
void view_dispatcher_set_tick_event_callback(ViewDispatcher *view_dispatcher, ViewDispatcherTickEventCallback callback, uint32_t tick_period)
Set tick event handler.
Definition view_dispatcher.c:83
void view_dispatcher_stop(ViewDispatcher *view_dispatcher)
Stop ViewDispatcher.
Definition view_dispatcher.c:130
FuriEventLoop * view_dispatcher_get_event_loop(ViewDispatcher *view_dispatcher)
Get event_loop instance.
Definition view_dispatcher.c:97
void view_dispatcher_attach_to_gui(ViewDispatcher *view_dispatcher, Gui *gui, ViewDispatcherType type)
Attach ViewDispatcher to GUI.
Definition view_dispatcher.c:210
void view_dispatcher_run(ViewDispatcher *view_dispatcher)
Run ViewDispatcher.
Definition view_dispatcher.c:103
void view_dispatcher_set_navigation_event_callback(ViewDispatcher *view_dispatcher, ViewDispatcherNavigationEventCallback callback)
Set navigation event handler.
Definition view_dispatcher.c:69
void view_dispatcher_remove_view(ViewDispatcher *view_dispatcher, uint32_t view_id)
Remove view from ViewDispatcher.
Definition view_dispatcher.c:156