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;
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;
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;