From: Bastian Dehn Date: Sun, 26 Oct 2025 14:11:43 +0000 (+0100) Subject: change get image width X-Git-Tag: v1.1.17^2~6 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=837ec5f3598be0838cd8ee6ab0f08e15e14c4bb5;p=sane-kds-s2000w-net.git change get image width --- diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index 38047c3..dbed051 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -116,19 +116,31 @@ int32_t _kds_s2000w_handler_opts_get_zero_option(void* value) { int32_t _kds_s2000w_handler_opts_get_image_offset_x(handler_t* h, json_object* value_object, void* value) { - int32_t* int_value = (int32_t*) value; - h->coord->offset_x = json_object_get_int(value_object); - uint32_t pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, h->coord->offset_x); - *int_value = pixel; - return GOOD; + int32_t* int_value = (int32_t*) value; + h->coord->offset_x = json_object_get_int(value_object); + uint32_t pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, h->coord->offset_x); + *int_value = pixel; + return GOOD; } int32_t _kds_s2000w_handler_opts_get_image_offset_y(handler_t* h, json_object* value_object, void* value) +{ + int32_t* int_value = (int32_t*) value; + h->coord->offset_y = json_object_get_int(value_object); + uint32_t pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, h->coord->offset_y); + *int_value = pixel; + return GOOD; +} + +int32_t _kds_s2000w_handler_opts_get_width(handler_t* h, json_object* value_object, void* value) { int32_t* int_value = (int32_t*) value; - h->coord->offset_y = json_object_get_int(value_object); - uint32_t pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, h->coord->offset_y); - *int_value = pixel; + h->coord->width = json_object_get_int(value_object); + value_object = json_object_object_get(h->scanner_config, IMAGE_OFFSET_X); + int32_t tenth_inch_offset_x = json_object_get_int(value_object); + uint32_t width_pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, h->coord->width); + uint32_t offset_x_pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, tenth_inch_offset_x); + *int_value = offset_x_pixel + width_pixel; return GOOD; } @@ -517,16 +529,8 @@ int32_t kds_s2000w_handler_opts_get_option(handler_t* h, uint32_t option, void* if (strcmp(descriptor->config_name, IMAGE_OFFSET_Y) == 0) return _kds_s2000w_handler_opts_get_image_offset_y(h, value_object, value); - if (strcmp(descriptor->config_name, IMAGE_WIDTH) == 0) { - int32_t* int_value = (int32_t*) value; - h->coord->width = json_object_get_int(value_object); - value_object = json_object_object_get(config, IMAGE_OFFSET_X); - int32_t tenth_inch_offset_x = json_object_get_int(value_object); - uint32_t width_pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, h->coord->width); - uint32_t offset_x_pixel = kds_s2000w_pixel_converter_tenth_inch_to_pixel(GUI_DPI, tenth_inch_offset_x); - *int_value = offset_x_pixel + width_pixel; - return GOOD; - } + if (strcmp(descriptor->config_name, IMAGE_WIDTH) == 0) + return _kds_s2000w_handler_opts_get_width(h, value_object, value); if (strcmp(descriptor->config_name, IMAGE_HEIGHT) == 0) { int32_t* int_value = (int32_t*) value;