# HG changeset patch # User Olaf Wintermann # Date 1785179918 -7200 # Node ID 83b2c5391fc5445b838a51d9271b83c393f89db5 # Parent 163146220e943dd199046c57db5c4f39860a7970 add UiImageViewerArgs wrapper functions diff -r 163146220e94 -r 83b2c5391fc5 ui/common/args.c --- 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) { diff -r 163146220e94 -r 83b2c5391fc5 ui/common/args.h --- 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); diff -r 163146220e94 -r 83b2c5391fc5 ui/ui/image.h --- 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__ } )