diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2024-12-21 15:58:24 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2024-12-21 15:58:24 +0330 |
commit | dd493a56e5c014f7c71d79c14215b514c5aca06e (patch) | |
tree | ea68888cde0540063fa2f2fc518a8767b3b54822 /src/ui/tui.h | |
parent | c59709cb7de9c8951362007313f0b45fe4e7fd79 (diff) |
Added Padding and expandable rows
Diffstat (limited to 'src/ui/tui.h')
-rw-r--r-- | src/ui/tui.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/ui/tui.h b/src/ui/tui.h index 09c7b8e..eda55ac 100644 --- a/src/ui/tui.h +++ b/src/ui/tui.h @@ -70,6 +70,7 @@ typedef enum WIDGET_TYPE { WIDGET_TYPE_ROW, WIDGET_TYPE_BOX, WIDGET_TYPE_CENTER, + WIDGET_TYPE_PADDING, } WIDGET_TYPE; typedef struct WIDGET { @@ -109,6 +110,14 @@ typedef struct BOX_METADATA { typedef WIDGET CENTER_METADATA; +typedef struct PADDING_METADATA { + WIDGET *child; + int padding_top; + int padding_bottom; + int padding_left; + int padding_right; +} PADDING_METADATA; + typedef WIDGET *(*WIDGET_BUILDER)(TUI *tui); extern TUI *tui_init(); @@ -131,7 +140,10 @@ extern void _tui_draw_widget_to_cells(TUI *tui, const WIDGET *widget, extern void _tui_get_widget_size(const WIDGET *widget, int width_begin, int width_end, int height_begin, - int height_end, int *widget_width, int *widget_height); + int height_end, int *widget_width, + int *widget_height); + +extern bool _tui_is_max_width(const WIDGET *widget); extern bool tui_widget_eqauls(const WIDGET *restrict left, const WIDGET *restrict right); @@ -172,6 +184,16 @@ extern WIDGET *tui_make_center(WIDGET *restrict child); extern CENTER_METADATA *_tui_make_center_metadata(WIDGET *restrict child); extern void _tui_delete_center(WIDGET *restrict center); +extern WIDGET *tui_make_padding(WIDGET *restrict child, int padding_top, + int padding_bottom, int padding_left, + int padding_right); +extern PADDING_METADATA *_tui_make_padding_metadata(WIDGET *restrict child, + int padding_top, + int padding_bottom, + int padding_left, + int padding_right); +extern void _tui_delete_padding(WIDGET *restrict padding); + extern WIDGET_ARRAY *tui_make_widget_array_raw(size_t size, ...); extern void _tui_delete_widget_array(WIDGET_ARRAY *restrict widget_array); |