summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2024-08-29 02:59:19 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2024-08-29 02:59:19 +0330
commit555c98cb9bfc95a05a956b1be10cd2fea4afb677 (patch)
treeff24ae681da5a95fa8a4d819d18981038ab5cdfd /src/ui
parent7f7ced3f7f61d6cd31a43c5d03d606879295d624 (diff)
made tui_make_widget_array needless to determining size
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/tui.c2
-rw-r--r--src/ui/tui.h4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/ui/tui.c b/src/ui/tui.c
index e7336bf..30456d2 100644
--- a/src/ui/tui.c
+++ b/src/ui/tui.c
@@ -650,7 +650,7 @@ void _tui_delete_box(WIDGET *box) {
free(box->metadata);
}
-WIDGET_ARRAY *tui_make_widget_array(size_t size, ...) {
+WIDGET_ARRAY *tui_make_widget_array_raw(size_t size, ...) {
va_list arg_pointer;
va_start(arg_pointer, size);
diff --git a/src/ui/tui.h b/src/ui/tui.h
index 0de4adb..d351d5c 100644
--- a/src/ui/tui.h
+++ b/src/ui/tui.h
@@ -155,7 +155,9 @@ extern BOX_METADATA *_tui_make_box_metadata(WIDGET *restrict child, int width,
int height, COLOR color);
extern void _tui_delete_box(WIDGET *restrict box);
-extern WIDGET_ARRAY *tui_make_widget_array(size_t size, ...);
+extern WIDGET_ARRAY *tui_make_widget_array_raw(size_t size, ...);
extern void _tui_delete_widget_array(WIDGET_ARRAY *restrict widget_array);
+#define tui_make_widget_array(...) tui_make_widget_array_raw(sizeof((WIDGET* []) {__VA_ARGS__}) / sizeof(WIDGET*), __VA_ARGS__)
+
#endif