diff -r 7061c9cf3b52 -r fc854e0ab924 ui/gtk/image.c --- a/ui/gtk/image.c Thu May 15 12:55:54 2025 +0200 +++ b/ui/gtk/image.c Thu May 29 12:03:32 2025 +0200 @@ -63,7 +63,7 @@ #endif -UIWIDGET ui_imageviewer_create(UiObject *obj, UiImageViewerArgs args) { +UIWIDGET ui_imageviewer_create(UiObject *obj, UiImageViewerArgs *args) { UiObject *current = uic_current_obj(obj); GtkWidget *drawingarea = gtk_drawing_area_new(); @@ -78,10 +78,10 @@ widget = eventbox; #endif - if(args.scrollarea) { + if(args->scrollarea) { toplevel = SCROLLEDWINDOW_NEW(); SCROLLEDWINDOW_SET_CHILD(toplevel, widget); - args.adjustwidgetsize = TRUE; + args->adjustwidgetsize = TRUE; } else { toplevel = widget; } @@ -89,29 +89,29 @@ UiImageViewer *imgviewer = malloc(sizeof(UiImageViewer)); memset(imgviewer, 0, sizeof(UiImageViewer)); imgviewer->obj = obj; - imgviewer->onbuttonpress = args.onbuttonpress; - imgviewer->onbuttonpressdata = args.onbuttonpressdata; - imgviewer->onbuttonrelease = args.onbuttonrelease; - imgviewer->onbuttonreleasedata = args.onbuttonreleasedata; - if(args.image_padding > 0) { - imgviewer->padding_left = args.image_padding; - imgviewer->padding_right = args.image_padding; - imgviewer->padding_top = args.image_padding; - imgviewer->padding_bottom = args.image_padding; + imgviewer->onbuttonpress = args->onbuttonpress; + imgviewer->onbuttonpressdata = args->onbuttonpressdata; + imgviewer->onbuttonrelease = args->onbuttonrelease; + imgviewer->onbuttonreleasedata = args->onbuttonreleasedata; + if(args->image_padding > 0) { + imgviewer->padding_left = args->image_padding; + imgviewer->padding_right = args->image_padding; + imgviewer->padding_top = args->image_padding; + imgviewer->padding_bottom = args->image_padding; } else { - imgviewer->padding_left = args.image_padding_left; - imgviewer->padding_right = args.image_padding_right; - imgviewer->padding_top = args.image_padding_top; - imgviewer->padding_bottom = args.image_padding_bottom; + imgviewer->padding_left = args->image_padding_left; + imgviewer->padding_right = args->image_padding_right; + imgviewer->padding_top = args->image_padding_top; + imgviewer->padding_bottom = args->image_padding_bottom; } - imgviewer->adjustwidgetsize = args.adjustwidgetsize; - imgviewer->autoscale = args.autoscale; - imgviewer->useradjustable = args.useradjustable; + imgviewer->adjustwidgetsize = args->adjustwidgetsize; + imgviewer->autoscale = args->autoscale; + imgviewer->useradjustable = args->useradjustable; imgviewer->zoom_scale = 20; g_object_set_data_full(G_OBJECT(drawingarea), "uiimageviewer", imgviewer, (GDestroyNotify)imageviewer_destroy); - UiVar *var = uic_widget_var(obj->ctx, current->ctx, args.value, args.varname, UI_VAR_GENERIC); + UiVar *var = uic_widget_var(obj->ctx, current->ctx, args->value, args->varname, UI_VAR_GENERIC); imgviewer->var = var; imgviewer->widget = drawingarea; @@ -136,7 +136,7 @@ imgviewer, NULL); - if(args.useradjustable) { + if(args->useradjustable) { gtk_widget_set_focusable(drawingarea, TRUE); } @@ -182,12 +182,12 @@ #endif - if(args.contextmenu) { - UIMENU menu = ui_contextmenu_create(args.contextmenu, obj, widget); + if(args->contextmenu) { + UIMENU menu = ui_contextmenu_create(args->contextmenu, obj, widget); ui_widget_set_contextmenu(widget, menu); } - UI_APPLY_LAYOUT1(current, args); + UI_APPLY_LAYOUT2(current, args); current->container->add(current->container, toplevel, TRUE); return toplevel;