What to learn here?
- How to print a string
- How to add an icon to the app
- How to log shit
Using ViewPort
is the easiest way to create GUI interface.
Import headers:
#include <furi.h>
#include <gui/gui.h>
Create a view_port object:
ViewPort* view_port = view_port_alloc();
Create draw and input callbacks:
static void draw_callback(Canvas* canvas, void* ctx) {}
static void input_callback(InputEvent* input_event, void* ctx) {}
...
view_port_draw_callback_set(view_port, draw_callback, app);
view_port_input_callback_set(view_port, input_callback, app);
Register view_port in gui:
Gui* gui = furi_record_open(RECORD_GUI);
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
Free:
view_port_enabled_set(view_port, false); // Disable ViewPort
gui_remove_view_port(gui, view_port);
view_port_free(view_port);
furi_record_close(RECORD_GUI);
App:
typedef struct {
Gui* gui;
ViewPort* view_port;
} App;
...
If context
attr is not used you shoud use UNUSED()
function.
static void draw_callback(Canvas* canvas, void* ctx) {
// App* app = ctx;
UNUSED(ctx);