[FL-867] GUI: ViewPort arrangement API, better input and draw dispatching (#333)
* Input: refactoring, platform agnostic key configuration, update usage across project. Minor queue usage fixes and tick timings. * Gui: lighter and more efficient input and draw call dispatching, ViewPort rearranging API. View: conditional model updates, API usage update. * BT: smaller update delay * GUI: ViewPort visibility check
This commit is contained in:
@@ -7,26 +7,13 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define GUI_DISPLAY_WIDTH 128
|
||||
#define GUI_DISPLAY_HEIGHT 64
|
||||
|
||||
#define GUI_STATUS_BAR_X 0
|
||||
#define GUI_STATUS_BAR_Y 0
|
||||
#define GUI_STATUS_BAR_WIDTH GUI_DISPLAY_WIDTH
|
||||
#define GUI_STATUS_BAR_HEIGHT 8
|
||||
|
||||
#define GUI_MAIN_X 0
|
||||
#define GUI_MAIN_Y 9
|
||||
#define GUI_MAIN_WIDTH GUI_DISPLAY_WIDTH
|
||||
#define GUI_MAIN_HEIGHT (GUI_DISPLAY_HEIGHT - GUI_MAIN_Y)
|
||||
|
||||
typedef enum {
|
||||
GuiLayerNone, /* Special layer for internal use only */
|
||||
|
||||
GuiLayerStatusBarLeft, /* Status bar left-side view_port layer, auto-layout */
|
||||
GuiLayerStatusBarRight, /* Status bar right-side view_port layer, auto-layout */
|
||||
GuiLayerMain, /* Main view_port layer, status bar is shown */
|
||||
GuiLayerFullscreen, /* Fullscreen view_port layer */
|
||||
GuiLayerStatusBarLeft, /* Status bar left-side layer, auto-layout */
|
||||
GuiLayerStatusBarRight, /* Status bar right-side layer, auto-layout */
|
||||
GuiLayerMain, /* Main layer, status bar is shown */
|
||||
GuiLayerFullscreen, /* Fullscreen layer */
|
||||
|
||||
GuiLayerMAX /* Don't use or move, special value */
|
||||
} GuiLayer;
|
||||
@@ -45,6 +32,20 @@ void gui_add_view_port(Gui* gui, ViewPort* view_port, GuiLayer layer);
|
||||
*/
|
||||
void gui_remove_view_port(Gui* gui, ViewPort* view_port);
|
||||
|
||||
/* Send ViewPort to the front
|
||||
* Places selected ViewPort to the top of the drawing stack
|
||||
* @param gui, Gui instance
|
||||
* @param view_port, ViewPort instance
|
||||
*/
|
||||
void gui_send_view_port_front(Gui* gui, ViewPort* view_port);
|
||||
|
||||
/* Send ViewPort to the back
|
||||
* Places selected ViewPort to the bottom of the drawing stack
|
||||
* @param gui, Gui instance
|
||||
* @param view_port, ViewPort instance
|
||||
*/
|
||||
void gui_send_view_port_back(Gui* gui, ViewPort* view_port);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user