From 837ec5f3598be0838cd8ee6ab0f08e15e14c4bb5 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 26 Oct 2025 15:11:43 +0100 Subject: [PATCH] change get image width --- src/kds_s2000w_handler_opts.c | 40 +++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 18 deletions(-) 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; -- 2.47.3