ui/winui/container.cpp

changeset 613
dac25dd922a2
parent 478
6292f93c2213
child 614
a6e70dead6bd
--- a/ui/winui/container.cpp	Mon Jun 09 08:47:57 2025 +0200
+++ b/ui/winui/container.cpp	Tue Jun 10 12:28:30 2025 +0200
@@ -34,6 +34,7 @@
 #include "../common/object.h"
 
 #include "util.h"
+#include "../ui/widget.h"
 
 
 void ui_container_begin_close(UiObject* obj) {
@@ -51,13 +52,13 @@
 }
 
 
-UIEXPORT UIWIDGET ui_customwidget_create(UiObject *obj, ui_createwidget_func create_widget, void *userdata, UiWidgetArgs args) {
+UIWIDGET ui_customwidget_create(UiObject *obj, ui_createwidget_func create_widget, void *userdata, UiWidgetArgs *args) {
 	UiObject* current = uic_current_obj(obj);
 
 	UIWIDGET widget = create_widget(obj, args, userdata);
 	FrameworkElement w = widget->uielement.as<FrameworkElement>();
 
-	UI_APPLY_LAYOUT1(current, args);
+	UI_APPLY_LAYOUT2(current, args);
 
 	current->container->Add(w, false);
 
@@ -66,9 +67,9 @@
 
 // --------------------- UiBoxContainer ---------------------
 
-static UIWIDGET ui_box(UiObject* obj, UiContainerArgs args, UiBoxContainerType type) {
+static UIWIDGET ui_box(UiObject* obj, UiContainerArgs *args, UiBoxContainerType type) {
 	UiObject* current = uic_current_obj(obj);
-	UI_APPLY_LAYOUT1(current, args);
+	UI_APPLY_LAYOUT2(current, args);
 
 	Grid grid = Grid();
 	current->container->Add(grid, true);
@@ -78,18 +79,18 @@
 	ui_context_add_widget_destructor(current->ctx, widget);
 
 	UiObject* newobj = uic_object_new(obj, widget);
-	newobj->container = new UiBoxContainer(grid, type, args.margin, args.spacing);
+	newobj->container = new UiBoxContainer(grid, type, args->margin, args->spacing);
 	ui_context_add_container_destructor(current->ctx, newobj->container);
 	uic_obj_add(obj, newobj);
 
 	return widget;
 }
 
-UIWIDGET ui_vbox_create(UiObject* obj, UiContainerArgs args) {
+UIWIDGET ui_vbox_create(UiObject* obj, UiContainerArgs *args) {
 	return ui_box(obj, args, UI_BOX_CONTAINER_VBOX);
 }
 
-UIWIDGET ui_hbox_create(UiObject* obj, UiContainerArgs args) {
+UIWIDGET ui_hbox_create(UiObject* obj, UiContainerArgs *args) {
 	return ui_box(obj, args, UI_BOX_CONTAINER_HBOX);
 }
 
@@ -861,28 +862,28 @@
 
 // TODO: replace placeholder implementation
 
-UIEXPORT UIWIDGET ui_headerbar_create(UiObject *obj, UiHeaderbarArgs args) {
+UIEXPORT UIWIDGET ui_headerbar_create(UiObject *obj, UiHeaderbarArgs *args) {
 	UiContainerArgs boxargs = { };
 	boxargs.fill = UI_OFF;
-	return ui_hbox_create(obj, boxargs);
+	return ui_hbox_create(obj, &boxargs);
 }
 
 UIEXPORT void ui_headerbar_start_create(UiObject *obj) {
 	UiContainerArgs boxargs = { };
 	boxargs.fill = UI_OFF;
-	ui_hbox_create(obj, boxargs);
+	ui_hbox_create(obj, &boxargs);
 }
 
 UIEXPORT void ui_headerbar_center_create(UiObject *obj) {
 	UiContainerArgs boxargs = { };
 	boxargs.fill = UI_OFF;
-	ui_hbox_create(obj, boxargs);
+	ui_hbox_create(obj, &boxargs);
 }
 
 UIEXPORT void ui_headerbar_end_create(UiObject *obj) {
 	UiContainerArgs boxargs = { };
 	boxargs.fill = UI_OFF;
-	ui_hbox_create(obj, boxargs);
+	ui_hbox_create(obj, &boxargs);
 }
 
 

mercurial