add UiImageViewerArgs wrapper functions default tip

Mon, 27 Jul 2026 21:18:38 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Mon, 27 Jul 2026 21:18:38 +0200
changeset 1223
83b2c5391fc5
parent 1222
163146220e94

add UiImageViewerArgs wrapper functions

ui/common/args.c file | annotate | diff | comparison | revisions
ui/common/args.h file | annotate | diff | comparison | revisions
ui/ui/image.h file | annotate | diff | comparison | revisions
--- a/ui/common/args.c	Mon Jul 27 21:03:25 2026 +0200
+++ b/ui/common/args.c	Mon Jul 27 21:18:38 2026 +0200
@@ -2775,6 +2775,153 @@
 }
 
 
+/* ------------------------- UiImageViewerArgs ----------------------------*/
+
+UiImageViewerArgs* ui_imageviewer_args_new(void) {
+    UiImageViewerArgs *args = malloc(sizeof(UiImageViewerArgs));
+    memset(args, 0, sizeof(UiImageViewerArgs));
+    return args;
+}
+
+void ui_imageviewer_args_set_fill(UiImageViewerArgs *args, UiBool fill) {
+    args->fill = fill;
+}
+
+void ui_imageviewer_args_set_hexpand(UiImageViewerArgs *args, UiBool value) {
+    args->hexpand = value;
+}
+
+void ui_imageviewer_args_set_vexpand(UiImageViewerArgs *args, UiBool value) {
+    args->vexpand = value;
+}
+
+void ui_imageviewer_args_set_hfill(UiImageViewerArgs *args, UiBool value) {
+    args->hfill = value;
+}
+
+void ui_imageviewer_args_set_vfill(UiImageViewerArgs *args, UiBool value) {
+    args->vfill = value;
+}
+
+void ui_imageviewer_args_set_override_defaults(UiImageViewerArgs *args, UiBool value) {
+    args->override_defaults = value;
+}
+
+void ui_imageviewer_args_set_margin(UiImageViewerArgs *args, int value) {
+    args->margin = value;
+}
+
+void ui_imageviewer_args_set_margin_left(UiImageViewerArgs *args, int value) {
+    args->margin_left = value;
+}
+
+void ui_imageviewer_args_set_margin_right(UiImageViewerArgs *args, int value) {
+    args->margin_right = value;
+}
+
+void ui_imageviewer_args_set_margin_top(UiImageViewerArgs *args, int value) {
+    args->margin_top = value;
+}
+
+void ui_imageviewer_args_set_margin_bottom(UiImageViewerArgs *args, int value) {
+    args->margin_bottom = value;
+}
+
+void ui_imageviewer_args_set_colspan(UiImageViewerArgs *args, int colspan) {
+    args->colspan = colspan;
+}
+
+void ui_imageviewer_args_set_rowspan(UiImageViewerArgs *args, int rowspan) {
+    args->rowspan = rowspan;
+}
+
+void ui_imageviewer_args_set_name(UiImageViewerArgs *args, const char *name) {
+    args->name = strdup(name);
+}
+
+void ui_imageviewer_args_set_style_class(UiImageViewerArgs *args, const char *classname) {
+    args->style_class = strdup(classname);
+}
+
+void ui_imageviewer_args_set_varname(UiImageViewerArgs *args, const char *varname) {
+    args->varname = strdup(varname);
+}
+
+void ui_imageviewer_args_set_value(UiImageViewerArgs *args, UiGeneric *value) {
+    args->value = value;
+}
+
+void ui_imageviewer_args_set_visibility_states(UiImageViewerArgs *args, int *states, int numstates) {
+    args->visibility_states = calloc(numstates+1, sizeof(int));
+    memcpy((void*)args->visibility_states, states, numstates * sizeof(int));
+    ((int*)args->visibility_states)[numstates] = -1;
+}
+
+void ui_imageviewer_args_set_scrollarea(UiImageViewerArgs *args, UiBool value) {
+    args->scrollarea = value;
+}
+
+void ui_imageviewer_args_set_autoscale(UiImageViewerArgs *args, UiBool value) {
+    args->autoscale = value;
+}
+
+void ui_imageviewer_args_set_adjustwidgetsize(UiImageViewerArgs *args, UiBool value) {
+    args->adjustwidgetsize = value;
+}
+
+void ui_imageviewer_args_set_useradjustable(UiImageViewerArgs *args, UiBool value) {
+    args->useradjustable = value;
+}
+
+void ui_imageviewer_args_set_image_padding(UiImageViewerArgs *args, int value) {
+    args->image_padding = value;
+}
+
+void ui_imageviewer_args_set_image_padding_left(UiImageViewerArgs *args, int value) {
+    args->image_padding_left = value;
+}
+
+void ui_imageviewer_args_set_image_padding_right(UiImageViewerArgs *args, int value) {
+    args->image_padding_right = value;
+}
+
+void ui_imageviewer_args_set_image_padding_top(UiImageViewerArgs *args, int value) {
+    args->image_padding_top = value;
+}
+
+void ui_imageviewer_args_set_image_padding_bottom(UiImageViewerArgs *args, int value) {
+    args->image_padding_bottom = value;
+}
+
+void ui_imageviewer_args_set_contextmenu(UiImageViewerArgs *args, UiMenuBuilder *menubuilder) {
+    args->contextmenu = menubuilder;
+}
+
+void ui_imageviewer_args_set_onbuttonpress(UiImageViewerArgs *args, ui_callback callback) {
+    args->onbuttonpress = callback;
+}
+
+void ui_imageviewer_args_set_onbuttonpressdata(UiImageViewerArgs *args, void *onbuttonpressdata) {
+    args->onbuttonpressdata = onbuttonpressdata;
+}
+
+void ui_imageviewer_args_set_onbuttonrelease(UiImageViewerArgs *args, ui_callback callback) {
+    args->onbuttonrelease = callback;
+}
+
+void ui_imageviewer_args_set_onbuttonreleasedata(UiImageViewerArgs *args, void *onbuttonreleasedata) {
+    args->onbuttonreleasedata = onbuttonreleasedata;
+}
+
+void ui_imageviewer_args_free(UiImageViewerArgs *args) {
+    free((void*)args->name);
+    free((void*)args->style_class);
+    free((void*)args->varname);
+    free((void*)args->visibility_states);
+    free(args);
+}
+
+
 /* ------------------------- UiWebviewArgs ----------------------------*/
 
 UiWebviewArgs* ui_webview_args_new(void) {
--- a/ui/common/args.h	Mon Jul 27 21:03:25 2026 +0200
+++ b/ui/common/args.h	Mon Jul 27 21:18:38 2026 +0200
@@ -39,6 +39,7 @@
 #include "../ui/list.h"
 #include "../ui/text.h"
 #include "../ui/webview.h"
+#include "../ui/image.h"
 #include "../ui/widget.h"
 
 #ifdef __cplusplus
@@ -639,6 +640,41 @@
 UIEXPORT void ui_spinbox_args_set_visibility_states(UiSpinBoxArgs *args, int *states, int numstates);
 UIEXPORT void ui_spinbox_args_free(UiSpinBoxArgs *args);
 
+UIEXPORT UiImageViewerArgs* ui_imageviewer_args_new(void);
+UIEXPORT void ui_imageviewer_args_set_fill(UiImageViewerArgs *args, UiBool fill);
+UIEXPORT void ui_imageviewer_args_set_hexpand(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_vexpand(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_hfill(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_vfill(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_override_defaults(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_margin(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_margin_left(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_margin_right(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_margin_top(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_margin_bottom(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_colspan(UiImageViewerArgs *args, int colspan);
+UIEXPORT void ui_imageviewer_args_set_rowspan(UiImageViewerArgs *args, int rowspan);
+UIEXPORT void ui_imageviewer_args_set_name(UiImageViewerArgs *args, const char *name);
+UIEXPORT void ui_imageviewer_args_set_style_class(UiImageViewerArgs *args, const char *classname);
+UIEXPORT void ui_imageviewer_args_set_varname(UiImageViewerArgs *args, const char *varname);
+UIEXPORT void ui_imageviewer_args_set_value(UiImageViewerArgs *args, UiGeneric *value);
+UIEXPORT void ui_imageviewer_args_set_visibility_states(UiImageViewerArgs *args, int *states, int numstates);
+UIEXPORT void ui_imageviewer_args_set_scrollarea(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_autoscale(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_adjustwidgetsize(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_useradjustable(UiImageViewerArgs *args, UiBool value);
+UIEXPORT void ui_imageviewer_args_set_image_padding(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_image_padding_left(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_image_padding_right(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_image_padding_top(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_image_padding_bottom(UiImageViewerArgs *args, int value);
+UIEXPORT void ui_imageviewer_args_set_contextmenu(UiImageViewerArgs *args, UiMenuBuilder *menubuilder);
+UIEXPORT void ui_imageviewer_args_set_onbuttonpress(UiImageViewerArgs *args, ui_callback callback);
+UIEXPORT void ui_imageviewer_args_set_onbuttonpressdata(UiImageViewerArgs *args, void *onbuttonpressdata);
+UIEXPORT void ui_imageviewer_args_set_onbuttonrelease(UiImageViewerArgs *args, ui_callback callback);
+UIEXPORT void ui_imageviewer_args_set_onbuttonreleasedata(UiImageViewerArgs *args, void *onbuttonreleasedata);
+UIEXPORT void ui_imageviewer_args_free(UiImageViewerArgs *args);
+
 UIEXPORT UiWebviewArgs* ui_webview_args_new(void);
 UIEXPORT void ui_webview_args_set_fill(UiWebviewArgs *args, UiBool fill);
 UIEXPORT void ui_webview_args_set_hexpand(UiWebviewArgs *args, UiBool value);
--- a/ui/ui/image.h	Mon Jul 27 21:03:25 2026 +0200
+++ b/ui/ui/image.h	Mon Jul 27 21:18:38 2026 +0200
@@ -80,6 +80,8 @@
     void *onbuttonpressdata;
     ui_callback onbuttonrelease;
     void *onbuttonreleasedata;
+    
+    const int *visibility_states;
 } UiImageViewerArgs;
     
 #define ui_imageviewer(obj, ...) ui_imageviewer_create(obj, &(UiImageViewerArgs){ __VA_ARGS__ } )

mercurial