diff options
author | dec05eba <dec05eba@protonmail.com> | 2021-12-02 14:20:48 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2021-12-02 14:29:13 +0100 |
commit | 14770f42df291753a240def91fb488a904a909c1 (patch) | |
tree | c1ef52c408cb365890da4aeb5536256040bb96fd /include/mgui/list.h |
Initial commit, set up skeleton with list and button
Diffstat (limited to 'include/mgui/list.h')
-rw-r--r-- | include/mgui/list.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/mgui/list.h b/include/mgui/list.h new file mode 100644 index 0000000..1da326d --- /dev/null +++ b/include/mgui/list.h @@ -0,0 +1,33 @@ +#ifndef MGUI_LIST_H +#define MGUI_LIST_H + +#include "widget.h" +#include <stddef.h> + +typedef struct mgl_window mgl_window; +typedef struct mgl_event mgl_event; + +typedef enum { + MGUI_LIST_HORIZONITAL, + MGUI_LIST_VERTICAL +} mgui_list_direction; + +typedef struct { + mgui_widget widget; + mgui_list_direction direction; + mgl_vec2i position; + mgui_widget **items; + size_t num_items; + size_t items_capacity; +} mgui_list; + +mgui_list* mgui_list_create(mgui_list_direction direction); +mgui_widget* mgui_list_to_widget(mgui_list *list); +mgui_list* mgui_widget_to_list(mgui_widget *widget); + +void mgui_list_set_position(mgui_list *self, mgl_vec2i position); +void mgui_list_append(mgui_list *self, mgui_widget *widget); +void mgui_list_on_event(mgui_list *self, mgl_window *window, mgl_event *event); +void mgui_list_draw(mgui_list *self, mgl_window *window); + +#endif /* MGUI_LIST_H */ |