Loading...
Searching...
No Matches
view_dispatcher_i.h File Reference

GUI: ViewDispatcher API. More...

#include <m-dict.h>
#include "view_dispatcher.h"
#include "view_i.h"
#include "gui_i.h"

Go to the source code of this file.

Data Structures

struct  ViewDispatcher
 

Functions

void view_dispatcher_draw_callback (Canvas *canvas, void *context)
 The Callback that is bound to the ViewPort, called on view_port_draw.
 
void view_dispatcher_input_callback (InputEvent *event, void *context)
 The Callback that is bound to the parent view_port's input.
 
void view_dispatcher_handle_input (ViewDispatcher *view_dispatcher, InputEvent *event)
 Input handler.
 
void view_dispatcher_handle_tick_event (void *context)
 Tick handler.
 
void view_dispatcher_handle_custom_event (ViewDispatcher *view_dispatcher, uint32_t event)
 Custom event handler.
 
void view_dispatcher_set_current_view (ViewDispatcher *view_dispatcher, View *view)
 Set current view, dispatches view enter and exit.
 
void view_dispatcher_update (View *view, void *context)
 ViewDispatcher update event.
 
void view_dispatcher_run_event_callback (FuriEventLoopObject *object, void *context)
 ViewDispatcher run event loop event callback.
 
void view_dispatcher_run_input_callback (FuriEventLoopObject *object, void *context)
 ViewDispatcher run event loop input callback.
 

Detailed Description

GUI: ViewDispatcher API.

Function Documentation

◆ view_dispatcher_draw_callback()

void view_dispatcher_draw_callback ( Canvas * canvas,
void * context )

The Callback that is bound to the ViewPort, called on view_port_draw.

Dispatches to the current_view.

Warning
called on the GUI thread.

To be used by the GUI, called on tree redraw.

Parameters
canvascanvas to draw at
contextview dispatcher pointer.

◆ view_dispatcher_handle_custom_event()

void view_dispatcher_handle_custom_event ( ViewDispatcher * view_dispatcher,
uint32_t event )

Custom event handler.

Note
this will be called on the thread that invoked view_dispatcher_run

Events are generated by view_dispatcher_send_custom_event, and relayed through event_loop and event_queue.

See also
view_dispatcher_send_custom_event.
scene_mananger_handle_custom_event.
scene_mananger/AppSceneOnEventCallback.
Parameters
view_dispatcherview dispatcher pointer
eventan event id. commonly used with the scene_manager, in which case this value is passed into on_event_handler

◆ view_dispatcher_handle_input()

void view_dispatcher_handle_input ( ViewDispatcher * view_dispatcher,
InputEvent * event )

Input handler.

Note
this will be called on the thread that invoked view_dispatcher_run

Events are generated by view_port::view_port_input, and relayed through event_loop and input_queue.

See also
view_port_input.
view_dispatcher_handle_input.
Parameters
view_dispatcherview dispatcher pointer
eventthe input event

◆ view_dispatcher_handle_tick_event()

void view_dispatcher_handle_tick_event ( void * context)

Tick handler.

Note
this will be called on the thread that invoked view_dispatcher_run

Events are generated by view_port::view_port_input, and relayed through event_loop and input_queue.

See also
view_dispatcher_set_tick_event_callback.
Parameters
contextview dispatcher pointer

◆ view_dispatcher_input_callback()

void view_dispatcher_input_callback ( InputEvent * event,
void * context )

The Callback that is bound to the parent view_port's input.

Pushes items into the input_queue, to be dispatched via the event_loop.

See also
view_dispatcher_handle_input.
view_port_input.
Parameters
eventthe input event
contextview dispatcher pointer.