}
}
-void _kds_s2000w_handler_opts_set_valid_coord(option_descriptor* descriptor, handler* h)
+void _kds_s2000w_handler_opts_set_valid_coord_x(option_descriptor* descriptor, handler* h)
{
bool valid = h->coord->offset_x >= 0 && h->coord->offset_x <= 75;
- valid = valid && h->coord->offset_y >= 0 && h->coord->offset_y <= 130;
valid = valid && h->coord->width >= 10 && h->coord->width <= 85;
- valid = valid && h->coord->height >= 10 && h->coord->height <= 140;
valid = valid && h->coord->offset_x + h->coord->width <= 85;
- valid = valid && h->coord->offset_y + h->coord->height <= 140;
if (!valid)
return;
json_object* config = json_object_object_get(h->current_scanner_config, CONFIGURATION);
json_object* value_object = json_object_object_get(config, IMAGE_OFFSET_X);
json_object_set_int(value_object, h->coord->offset_x);
- value_object = json_object_object_get(config, IMAGE_OFFSET_Y);
- json_object_set_int(value_object, h->coord->offset_y);
value_object = json_object_object_get(config, IMAGE_WIDTH);
json_object_set_int(value_object, h->coord->width);
+}
+
+void _kds_s2000w_handler_opts_set_valid_coord_y(option_descriptor* descriptor, handler* h)
+{
+ bool valid = h->coord->offset_y >= 0 && h->coord->offset_y <= 130;
+ valid = valid && h->coord->height >= 10 && h->coord->height <= 140;
+ valid = valid && h->coord->offset_y + h->coord->height <= 140;
+
+ if (!valid)
+ return;
+
+ kds_s2000w_debug_printf_int(DEBUG, "valid offset y", h->coord->offset_y);
+ kds_s2000w_debug_printf_int(DEBUG, "valid height", h->coord->height);
+
+ json_object* config = json_object_object_get(h->current_scanner_config, CONFIGURATION);
+ json_object* value_object = json_object_object_get(config, IMAGE_OFFSET_Y);
+ json_object_set_int(value_object, h->coord->offset_y);
value_object = json_object_object_get(config, IMAGE_HEIGHT);
json_object_set_int(value_object, h->coord->height);
}
json_object* value_object = json_object_object_get(config, descriptor->config_name);
_kds_s2000w_handler_opts_set_offset_x(descriptor, h, value);
- _kds_s2000w_handler_opts_set_offset_y(descriptor, h, value);
_kds_s2000w_handler_opts_set_width(descriptor, h, value);
+ _kds_s2000w_handler_opts_set_valid_coord_x(descriptor, h);
+
+ _kds_s2000w_handler_opts_set_offset_y(descriptor, h, value);
_kds_s2000w_handler_opts_set_height(descriptor, h, value);
- _kds_s2000w_handler_opts_set_valid_coord(descriptor, h);
+ _kds_s2000w_handler_opts_set_valid_coord_y(descriptor, h);
if (strcmp(descriptor->config_name, IMAGE_OFFSET_X) != 0
&& strcmp(descriptor->config_name, IMAGE_OFFSET_Y) != 0