ui/gtk/image.c

changeset 594
fc854e0ab924
parent 578
950d2e38957b
child 659
d6baaa93f7be
--- 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;

mercurial