From: Bastian Dehn Date: Sun, 16 Feb 2025 12:25:41 +0000 (+0100) Subject: change all constrains init in methods X-Git-Tag: v1.1.0^2~4^2~20 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=9029ab3ff53f9d25b4e8ae976075a1fd7122564a;p=sane-kds-s2000w-net.git change all constrains init in methods --- diff --git a/src/kds_s2000w_option_descriptors.c b/src/kds_s2000w_option_descriptors.c index 6efe236..b7c6b6e 100644 --- a/src/kds_s2000w_option_descriptors.c +++ b/src/kds_s2000w_option_descriptors.c @@ -7,16 +7,6 @@ SANE_Option_Descriptor* descriptor_array = NULL; -SANE_Word constraint_dpi[] = {5, 100, 150, 200, 300, 600}; -SANE_Range constraint_binarization_contrast = {-50, 50, 1}; -SANE_Range constraint_background_smoothing_aggressivness = {-10, 10, 1}; -SANE_Range constraint_color_drop_out_aggressiveness_range = {-10, 10, 1}; -SANE_Range constraint_color_balance_aggressiveness = {-2, 2, 1}; -SANE_Range constraint_color_balance_red = {-50, 50, 1}; -SANE_Range constraint_color_balance_green = {-50, 50, 1}; -SANE_Range constraint_color_balance_blue = {-50, 50, 1}; -SANE_Range constraint_foreground_boldness_aggressiveness = {-10, 10, 1}; - SANE_Option_Descriptor _kds_s2000w_option_descriptor_standard_group() { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_standard_group"); @@ -75,6 +65,14 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_dpi() { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_dpi"); + SANE_Word* constraint = malloc(sizeof(SANE_Word) * 6); + constraint[0] = 5; + constraint[1] = 100; + constraint[2] = 150; + constraint[3] = 200; + constraint[4] = 300; + constraint[5] = 600; + SANE_Option_Descriptor descriptor = { SANE_NAME_SCAN_RESOLUTION, SANE_TITLE_SCAN_RESOLUTION, @@ -84,7 +82,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_dpi() sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_WORD_LIST, - {.word_list = constraint_dpi} + {.word_list = constraint} }; return descriptor; @@ -191,6 +189,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_drop_out_aggressivene { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_color_drop_out_aggressiveness"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -10; + constraint->max = 10; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { "colordropoutaggressiveness", "colordropoutaggressiveness", @@ -200,7 +203,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_drop_out_aggressivene sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_color_drop_out_aggressiveness_range} + {.range = constraint} }; return descriptor; @@ -261,6 +264,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balancea_agressivenes { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_color_balancea_agressiveness"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -2; + constraint->max = 2; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { "colorbalanceaggressiveness", "colorbalanceaggressiveness", @@ -270,7 +278,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balancea_agressivenes sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_color_balance_aggressiveness} + {.range = constraint} }; return descriptor; @@ -280,6 +288,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balance_red() { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_color_balance_red"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -50; + constraint->max = 50; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { "colorbalancered", "colorbalancered", @@ -289,7 +302,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balance_red() sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_color_balance_red} + {.range = constraint} }; return descriptor; @@ -299,6 +312,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balance_green() { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_color_balance_green"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -50; + constraint->max = 50; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { "colorbalancegreen", "colorbalancegreen", @@ -308,7 +326,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balance_green() sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_color_balance_green} + {.range = constraint} }; return descriptor; @@ -318,6 +336,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balance_blue() { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_color_balance_blue"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -50; + constraint->max = 50; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { "colorbalanceblue", "colorbalanceblue", @@ -327,7 +350,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_balance_blue() sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_color_balance_blue} + {.range = constraint} }; return descriptor; @@ -362,6 +385,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_foreground_boldness_aggress { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_foreground_boldness_aggressiveness"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -10; + constraint->max = 10; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { "foreground-boldness-aggressiveness", "Foreground Boldness Aggressiveness", @@ -371,7 +399,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_foreground_boldness_aggress sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_foreground_boldness_aggressiveness} + {.range = constraint} }; return descriptor; @@ -406,6 +434,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_background_smoothing_aggres { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_background_smoothing_aggressiveness"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -10; + constraint->max = 10; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { "background-smoothing-aggressiveness", "Background Smoothing Aggressivenes", @@ -415,7 +448,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_background_smoothing_aggres sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_background_smoothing_aggressivness} + {.range = constraint} }; return descriptor; @@ -425,6 +458,11 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_binarization_contrast() { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_binarization_contrast"); + SANE_Range* constraint = malloc(sizeof(SANE_Range)); + constraint->min = -50; + constraint->max = 50; + constraint->quant = 1; + SANE_Option_Descriptor descriptor = { SANE_NAME_CONTRAST, SANE_TITLE_CONTRAST, @@ -434,7 +472,7 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_binarization_contrast() sizeof(SANE_Int), SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, SANE_CONSTRAINT_RANGE, - {.range = &constraint_binarization_contrast} + {.range = constraint} }; return descriptor; @@ -832,10 +870,21 @@ void kds_s2000w_option_descriptors_free() for (int i = 0; i < MAX_OPTION_COUNT; i++) { descriptor = kds_s2000w_option_descriptors_get(i); + if (descriptor->constraint_type == SANE_CONSTRAINT_STRING_LIST) { free((void*) descriptor->constraint.string_list); descriptor->constraint.string_list = NULL; } + + if (descriptor->constraint_type == SANE_CONSTRAINT_WORD_LIST) { + free((void*) descriptor->constraint.word_list); + descriptor->constraint.word_list = NULL; + } + + if (descriptor->constraint_type == SANE_CONSTRAINT_RANGE) { + free((void*) descriptor->constraint.range); + descriptor->constraint.range = NULL; + } } free(descriptor_array);