#include "gui.h" component_t *gui_group_container_add_component(container_t *container, component_t component) { group_container_t group = container->inner.group; if (group.count >= group.size) { return false; } group.components[group.count++] = component; container->inner.group = group; return &group.components[group.count - 1]; } void gui_group_container_render(gui_t *gui, container_t *container) { group_container_t group = container->inner.group; for (int i = 0; i < group.size; i++) { gui_component_render(gui, container, &group.components[i]); } } void gui_group_container_update(gui_t *gui, container_t *container) { group_container_t group = container->inner.group; for (int i = 0; i < group.size; i++) { gui_component_update(gui, container, &group.components[i]); } container->inner.group = group; } container_t gui_group_container_create(int16_t x, int16_t y, component_t *components, uint16_t components_size) { container_t container = {.x = x, .y = y, .type = CONT_GROUP, .focusable = false, .focused = false, .inner = {.group = {.components = components, .size = components_size, .count = 0}}}; return container; }