Flipper Zero Firmware
Loading...
Searching...
No Matches
gui.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "view_port.h"
9#include "canvas.h"
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
28
31 uint8_t* data,
32 size_t size,
33 CanvasOrientation orientation,
34 void* context);
35
36#define RECORD_GUI "gui"
37
38typedef struct Gui Gui;
39
48void gui_add_view_port(Gui* gui, ViewPort* view_port, GuiLayer layer);
49
57void gui_remove_view_port(Gui* gui, ViewPort* view_port);
58
66void gui_view_port_send_to_front(Gui* gui, ViewPort* view_port);
67
75void gui_view_port_send_to_back(Gui* gui, ViewPort* view_port);
76
86void gui_add_framebuffer_callback(Gui* gui, GuiCanvasCommitCallback callback, void* context);
87
94void gui_remove_framebuffer_callback(Gui* gui, GuiCanvasCommitCallback callback, void* context);
95
101size_t gui_get_framebuffer_size(const Gui* gui);
102
111void gui_set_lockdown(Gui* gui, bool lockdown);
112
125
134
135#ifdef __cplusplus
136}
137#endif
GUI: Canvas API.
CanvasOrientation
Canvas Orientation.
Definition canvas.h:45
void gui_remove_view_port(Gui *gui, ViewPort *view_port)
Remove view_port from rendering tree.
Definition gui.c:382
void gui_add_framebuffer_callback(Gui *gui, GuiCanvasCommitCallback callback, void *context)
Add gui canvas commit callback.
Definition gui.c:466
void gui_direct_draw_release(Gui *gui)
Release Direct Draw Lock.
Definition gui.c:513
void(* GuiCanvasCommitCallback)(uint8_t *data, size_t size, CanvasOrientation orientation, void *context)
Gui Canvas Commit Callback.
Definition gui.h:30
size_t gui_get_framebuffer_size(const Gui *gui)
Get gui canvas frame buffer size *.
Definition gui.c:481
void gui_add_view_port(Gui *gui, ViewPort *view_port, GuiLayer layer)
Add view_port to view_port tree.
Definition gui.c:351
Canvas * gui_direct_draw_acquire(Gui *gui)
Acquire Direct Draw lock and get Canvas instance.
Definition gui.c:498
void gui_remove_framebuffer_callback(Gui *gui, GuiCanvasCommitCallback callback, void *context)
Remove gui canvas commit callback.
Definition gui.c:475
void gui_set_lockdown(Gui *gui, bool lockdown)
Set lockdown mode.
Definition gui.c:487
void gui_view_port_send_to_back(Gui *gui, ViewPort *view_port)
Send ViewPort to the back.
Definition gui.c:437
void gui_view_port_send_to_front(Gui *gui, ViewPort *view_port)
Send ViewPort to the front.
Definition gui.c:408
GuiLayer
Gui layers.
Definition gui.h:16
@ GuiLayerStatusBarRight
Status bar right-side layer, auto-layout.
Definition gui.h:22
@ GuiLayerStatusBarLeft
Status bar left-side layer, auto-layout.
Definition gui.h:21
@ GuiLayerMAX
Don't use or move, special value.
Definition gui.h:26
@ GuiLayerFullscreen
Fullscreen layer, no status bar.
Definition gui.h:24
@ GuiLayerDesktop
Desktop layer for internal use.
Definition gui.h:17
@ GuiLayerWindow
Window layer, status bar is shown.
Definition gui.h:19
Canvas structure.
Definition canvas_i.h:40
Gui structure.
Definition gui_i.h:47
Definition view_port_i.h:11
GUI: ViewPort API.