]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change enable color agressiveness
authorBastian Dehn <hhaalo@arcor.de>
Tue, 18 Feb 2025 18:55:19 +0000 (19:55 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 18 Feb 2025 18:55:19 +0000 (19:55 +0100)
src/kds_s2000w_handler_opts.c

index 1b4f2157265d0c761a69b85c71a511b321aebb40..f17445ba787d57d81fb457e67a6c48dd07aa94b2 100644 (file)
@@ -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;