From: Bastian Dehn Date: Tue, 18 Feb 2025 18:55:19 +0000 (+0100) Subject: change enable color agressiveness X-Git-Tag: v1.1.0^2~2^2~5 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=efeef58a9ebf45c92b15aefc4f21ce4e737c383e;p=sane-kds-s2000w-net.git change enable color agressiveness --- diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index 1b4f215..f17445b 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -145,14 +145,14 @@ void _kds_s2000w_handler_opts_set_enable_suboptions_cropping_image(json_object* void _kds_s2000w_handler_opts_set_enable_color_balance(json_object* config) { - json_object* cropping_image = json_object_object_get(config, "ColorBalanceMode");; - const char* cropping_image_value = json_object_get_string(cropping_image); + json_object* color_balance_mode = json_object_object_get(config, "ColorBalanceMode");; + const char* color_balance_mode_value = json_object_get_string(color_balance_mode); SANE_Option_Descriptor* color_balance_red = kds_s2000w_option_descriptors_get_by_name("color-balance-red"); SANE_Option_Descriptor* color_balance_green = kds_s2000w_option_descriptors_get_by_name("color-balance-green"); SANE_Option_Descriptor* color_balance_blue = kds_s2000w_option_descriptors_get_by_name("color-balance-blue"); - if (strcmp(cropping_image_value, "Manual") == 0) { + if (strcmp(color_balance_mode_value, "Manual") == 0) { color_balance_red->cap |= SANE_CAP_SOFT_SELECT; color_balance_green->cap |= SANE_CAP_SOFT_SELECT; color_balance_blue->cap |= SANE_CAP_SOFT_SELECT; @@ -164,6 +164,21 @@ void _kds_s2000w_handler_opts_set_enable_color_balance(json_object* config) color_balance_blue->cap &= ~SANE_CAP_SOFT_SELECT; } +void _kds_s2000w_handler_opts_set_enable_color_aggressiveness(json_object* config) +{ + json_object* color_balance_mode = json_object_object_get(config, "ColorBalanceMode");; + const char* color_balance_mode_value = json_object_get_string(color_balance_mode); + + SANE_Option_Descriptor* color_balance_aggressivness = kds_s2000w_option_descriptors_get_by_name("color-balance-aggressiveness"); + + if (strcmp(color_balance_mode_value, "AutomaticAdvanced") == 0) { + color_balance_aggressivness->cap |= SANE_CAP_SOFT_SELECT; + return; + } + + color_balance_aggressivness->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 +486,7 @@ void kds_s2000w_handler_opts_set_option(handler* h, uint32_t option, void* value value_object = json_object_object_get(config, "ColorBalanceMode"); _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value); _kds_s2000w_handler_opts_set_enable_color_balance(config); + _kds_s2000w_handler_opts_set_enable_color_aggressiveness(config); if (info != NULL) *info = RELOAD_OPTIONS;