--- a/ui/win32/container.h Wed Oct 08 15:54:33 2025 +0200 +++ b/ui/win32/container.h Wed Oct 08 16:09:54 2025 +0200 @@ -37,8 +37,9 @@ extern "C" { #endif - +typedef struct UiContainerPrivate UiContainerPrivate; typedef struct UiGridLayoutContainer UiGridLayoutContainer; +typedef struct UiBoxContainer UiBoxContainer; enum UiBoxOrientation { UI_BOX_VERTICAL = 0, @@ -52,8 +53,6 @@ }; typedef enum UiContainerType UiContainerType; -typedef struct UiContainerPrivate UiContainerPrivate; - typedef struct UiRect { int x; int y; @@ -70,6 +69,14 @@ HWND hwnd; }; +struct UiBoxContainer { + UiContainerPrivate container; + UiGridLayout *layout; + UiBoxOrientation orientation; + int x; + int y; +}; + struct UiGridLayoutContainer { UiContainerPrivate container; UiGridLayout *layout; @@ -85,6 +92,9 @@ HWND ui_container_get_parent(UiContainerPrivate *ctn); void ui_container_add(UiContainerPrivate *ctn, W32Widget *widget, UiLayout *layout); +UiContainerX* ui_box_container_create(UiObject *obj, HWND hwnd, UiBoxOrientation orientation, short spacing, GridEdgeInsets padding); +void ui_box_container_add(UiContainerPrivate *ctn, W32Widget *widget, UiLayout *layout); + UiContainerX* ui_grid_container_create( UiObject *obj, HWND hwnd,