]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change enable boldness and smoothing aggressivness
authorBastian Dehn <hhaalo@arcor.de>
Tue, 18 Feb 2025 19:22:21 +0000 (20:22 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 18 Feb 2025 19:22:21 +0000 (20:22 +0100)
src/kds_s2000w_handler_opts.c

index de3176ce8ddc3248ddd385eaf4fca854ece08c12..265ba81f03a0c566b3cb2cb479eeeb6cfde0802f 100644 (file)
@@ -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;