]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add option descriptor for color contrast
authorBastian Dehn <hhaalo@arcor.de>
Sun, 16 Feb 2025 17:37:05 +0000 (18:37 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 16 Feb 2025 17:37:05 +0000 (18:37 +0100)
src/kds_s2000w_option_descriptors.c
tests/kds_s2000w_option_descriptor_tests.c
tests/kds_s2000w_option_descriptor_tests.h
tests/kds_s2000w_option_descriptor_tests_run.c

index 8345a7094f90ed840b177d6dcd59398f81b6e61a..878ecaf69bb660bd2696b444751cdd8b14bf4ebb 100644 (file)
@@ -4,7 +4,7 @@
 #include "kds_s2000w_option_descriptors.h"
 #include "kds_s2000w_debug.h"
 
-#define MAX_OPTION_COUNT 38
+#define MAX_OPTION_COUNT 39
 
 SANE_Option_Descriptor* descriptor_array = NULL;
 
@@ -917,6 +917,30 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_document_feeder_timeout()
        return descriptor;
 }
 
+SANE_Option_Descriptor _kds_s2000w_option_descriptor_color_contrast()
+{
+       kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_max_document_length");
+
+       SANE_Range* constraint = malloc(sizeof(SANE_Range));
+       constraint->min = -50;
+       constraint->max = 50;
+       constraint->quant = 1;
+
+       SANE_Option_Descriptor descriptor = {
+               "color-contrast",
+               "Color contrast",
+               "Color contrast",
+               SANE_TYPE_INT,
+               SANE_UNIT_NONE,
+               sizeof(SANE_Int),
+               SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT,
+               SANE_CONSTRAINT_RANGE,
+               {.range = constraint}
+       };
+
+       return descriptor;
+}
+
 void kds_s2000w_option_descriptors_init()
 {
        kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_init_option_descriptors");
@@ -959,7 +983,8 @@ void kds_s2000w_option_descriptors_init()
        descriptor_array[34] = _kds_s2000w_option_descriptor_color_brightness();
        descriptor_array[35] = _kds_s2000w_option_descriptor_max_document_length();
        descriptor_array[36] = _kds_s2000w_option_descriptor_document_feeder_timeout();
-       descriptor_array[37] = _kds_s2000w_option_descriptor_config_reset();
+       descriptor_array[37] = _kds_s2000w_option_descriptor_color_contrast();
+       descriptor_array[38] = _kds_s2000w_option_descriptor_config_reset();
 }
 
 void kds_s2000w_option_descriptors_free()
index 48e342f482af45b08c96dc68ffdd7c0455372e07..1e52ebb6df61f8f62dc83e75b604cb2283442634 100644 (file)
@@ -4,7 +4,7 @@
 #include "kds_s2000w_client_mock.h"
 #include "../src/kds_s2000w_option_descriptors.h"
 
-#define MAX_OPTION_COUNT 38
+#define MAX_OPTION_COUNT 39
 
 int setup(void** state)
 {
@@ -670,6 +670,23 @@ void kds_s2000w_option_get_descriptor_thirdyseven_test()
 {
        SANE_Option_Descriptor* option = kds_s2000w_option_descriptors_get(37);
 
+       assert_string_equal("color-contrast", option->name);
+       assert_string_equal("Color contrast", option->title);
+       assert_string_equal("Color contrast", option->desc);
+       assert_int_equal(SANE_TYPE_INT, option->type);
+       assert_int_equal(SANE_UNIT_NONE, option->unit);
+       assert_int_equal(sizeof(SANE_Int), option->size);
+       assert_int_equal(SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT, option->cap);
+       assert_int_equal(SANE_CONSTRAINT_RANGE, option->constraint_type);
+       assert_int_equal(option->constraint.range->min, -50);
+       assert_int_equal(option->constraint.range->max, 50);
+       assert_int_equal(option->constraint.range->quant, 1);
+}
+
+void kds_s2000w_option_get_descriptor_thirdyeight_test()
+{
+       SANE_Option_Descriptor* option = kds_s2000w_option_descriptors_get(38);
+
        assert_string_equal("config-reset", option->name);
        assert_string_equal("reset config", option->title);
        assert_string_equal("load default configuration from scanner", option->desc);
index a2b1e2c64260833d7146cf7eeba9ab62e5053a2e..08823e53223ad3c1a2f31b56e7a9eb159f438e91 100644 (file)
@@ -46,6 +46,7 @@ void kds_s2000w_option_get_descriptor_thirdyfour_test();
 void kds_s2000w_option_get_descriptor_thirdyfive_test();
 void kds_s2000w_option_get_descriptor_thirdysix_test();
 void kds_s2000w_option_get_descriptor_thirdyseven_test();
+void kds_s2000w_option_get_descriptor_thirdyeight_test();
 void kds_s2000w_option_get_descriptor_get_by_name_test();
 void kds_s2000w_option_get_descriptor_over_max_options_test();
 #endif
\ No newline at end of file
index 3c87444b61cc0946b100777edd970a68b8c632e3..160e0fd999472a3753bc4d5ca79b94decd942718 100644 (file)
@@ -41,6 +41,7 @@ int main()
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_thirdyfive_test, setup, teardown),
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_thirdysix_test, setup, teardown),
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_thirdyseven_test, setup, teardown),
+               cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_thirdyeight_test, setup, teardown),
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_get_by_name_test, setup, teardown),
                cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_over_max_options_test, setup, teardown),
        };