From: Bastian Dehn Date: Tue, 18 Feb 2025 19:22:21 +0000 (+0100) Subject: change enable boldness and smoothing aggressivness X-Git-Tag: v1.1.0^2~2^2~1 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=e8f9bb3a4e2f2b32fb352d49bfaf989572317527;p=sane-kds-s2000w-net.git change enable boldness and smoothing aggressivness --- diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index de3176c..265ba81 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -196,6 +196,37 @@ void _kds_s2000w_handler_opts_set_enable_color_brightness_and_contrast(json_obje color_constrast->cap &= ~SANE_CAP_SOFT_SELECT; } +void _kds_s2000w_handler_opts_set_enable_boldness_aggressiveness(json_object* config) +{ + json_object* foreground_boldness_mode = json_object_object_get(config, "ForegroundBoldnessMode");; + const char* foreground_boldness_mode_value = json_object_get_string(foreground_boldness_mode); + + SANE_Option_Descriptor* foreground_boldness_aggressiveness = kds_s2000w_option_descriptors_get_by_name("foreground-boldness-aggressiveness"); + + if (strcmp(foreground_boldness_mode_value, "AutomaticAdvanced") == 0) { + foreground_boldness_aggressiveness->cap |= SANE_CAP_SOFT_SELECT; + return; + } + + foreground_boldness_aggressiveness->cap &= ~SANE_CAP_SOFT_SELECT; +} + +void _kds_s2000w_handler_opts_set_enable_smoothing_aggressiveness(json_object* config) +{ + json_object* background_smoothing_mode = json_object_object_get(config, "BackgroundSmoothingMode");; + const char* background_smoothing_mode_value = json_object_get_string(background_smoothing_mode); + + SANE_Option_Descriptor* background_smoothing_aggressiveness = kds_s2000w_option_descriptors_get_by_name("background-smoothing-aggressiveness"); + + if (strcmp(background_smoothing_mode_value, "AutomaticAdvanced") == 0) { + background_smoothing_aggressiveness->cap |= SANE_CAP_SOFT_SELECT; + return; + } + + background_smoothing_aggressiveness->cap &= ~SANE_CAP_SOFT_SELECT; +} + + void kds_s2000w_handler_opts_get_option(handler* h, uint32_t option, void* value, int32_t* info) { json_object* config = NULL; @@ -471,6 +502,10 @@ void kds_s2000w_handler_opts_set_option(handler* h, uint32_t option, void* value case 14: value_object = json_object_object_get(config, "ForegroundBoldnessMode"); _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value); + _kds_s2000w_handler_opts_set_enable_boldness_aggressiveness(config); + + if (info != NULL) + *info = RELOAD_OPTIONS; break; case 15: value_object = json_object_object_get(config, "ForegroundBoldnessAggressiveness"); @@ -479,6 +514,10 @@ void kds_s2000w_handler_opts_set_option(handler* h, uint32_t option, void* value case 16: value_object = json_object_object_get(config, "BackgroundSmoothingMode"); _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value); + _kds_s2000w_handler_opts_set_enable_smoothing_aggressiveness(config); + + if (info != NULL) + *info = RELOAD_OPTIONS; break; case 17: value_object = json_object_object_get(config, "BackgroundSmoothingAggressiveness"); @@ -551,6 +590,8 @@ void kds_s2000w_handler_opts_set_option(handler* h, uint32_t option, void* value _kds_s2000w_handler_opts_set_enable_color_brightness_and_contrast(config); _kds_s2000w_handler_opts_set_enable_color_aggressiveness(config); _kds_s2000w_handler_opts_set_enable_color_balance(config); + _kds_s2000w_handler_opts_set_enable_boldness_aggressiveness(config); + _kds_s2000w_handler_opts_set_enable_smoothing_aggressiveness(config); if (info != NULL) *info = RELOAD_OPTIONS | RELOAD_PARAMS;