]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add custom gamma option
authorBastian Dehn <hhaalo@arcor.de>
Sat, 10 Feb 2024 11:38:28 +0000 (12:38 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 10 Feb 2024 11:38:28 +0000 (12:38 +0100)
src/kds_s2000w_handler_opts.c
src/kds_s2000w_net.c
src/kds_s2000w_option_descriptors.c
src/kds_s2000w_option_descriptors.h

index 4b987841ac7179b7e3ea4c761a96bd36353354bb..80341a61f8947d4af8cdadcedc1cfceb4b9768c0 100644 (file)
@@ -111,7 +111,7 @@ void kds_s2000w_handler_get_option(int option, void* value)
                case 0:
                        _load_options();
                        int* int_value_ptr = (int*) value;
-                       *int_value_ptr = json_object_object_length(config) + 3;
+                       *int_value_ptr = json_object_object_length(config) + 4;
                        break;
                case 2:
                        value_object = json_object_object_get(config, "DPI");
@@ -201,6 +201,9 @@ void kds_s2000w_handler_get_option(int option, void* value)
                        value_object = json_object_object_get(config, "ScanSource");
                        _write_string_value(value_object, value);
                        break;
+               case 24:
+                       int* custom_gamma = (int*) value;
+                       *custom_gamma = 0;
                default:
                        break;
        }
@@ -318,7 +321,7 @@ void kds_s2000w_handler_set_option(int option, void* value, int* info)
                        value_object = json_object_object_get(config, "ScanSource");
                        _write_string_value_to_json(value_object, value);
                        break;
-               case 24:
+               case 25:
                        resp = kds_s2000w_client_response_init();
                        kds_s2000w_client_get_capabilities(resp);
                        json_object* capabilities = json_tokener_parse(resp->data);
index c2ed4023dff0aa521d95a8ecfdda6bac54e6a93e..d81c489fa7b8d9b900c9eaf43d078f783b5eaa2d 100644 (file)
@@ -144,6 +144,9 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor(
                        kds_s2000w_option_descriptor_scan_source(&option_descriptors[option]);
                        break;
                case 24:
+                       kds_s2000w_option_descriptor_custom_gamma(&option_descriptors[option]);
+                       break;
+               case 25:
                        kds_s2000w_option_descriptor_config_reset(&option_descriptors[option]);
                        break;
                default:
index addfcde3d8bb03ace9ce44fbf31f10fca084e9b0..faba49f92c5175d1553c1433d4f6968a0c05d6d9 100644 (file)
@@ -2,8 +2,6 @@
 #include <sane/saneopts.h>
 #include "kds_s2000w_option_descriptors.h"
 
-#define MAX_OPTION_COUNT 25
-
 SANE_Word* constraint_dpi = NULL;
 SANE_String_Const* constraint_scanside = NULL;
 SANE_String_Const* constraint_colormode = NULL;
@@ -467,6 +465,18 @@ void kds_s2000w_option_descriptor_scan_source(SANE_Option_Descriptor* descriptor
        descriptor->size = sizeof(SANE_String) * 50;
 }
 
+void kds_s2000w_option_descriptor_custom_gamma(SANE_Option_Descriptor* descriptor)
+{
+       descriptor->name = SANE_NAME_CUSTOM_GAMMA;
+       descriptor->title = SANE_TITLE_CUSTOM_GAMMA;
+       descriptor->desc = SANE_DESC_CUSTOM_GAMMA;
+       descriptor->cap = SANE_CAP_SOFT_DETECT;
+       descriptor->constraint_type = SANE_CONSTRAINT_NONE;
+       descriptor->type = SANE_TYPE_BOOL;
+       descriptor->unit = SANE_UNIT_NONE;
+       descriptor->size = sizeof(SANE_Bool);
+}
+
 void kds_s2000w_option_descriptor_config_reset(SANE_Option_Descriptor* descriptor)
 {
        descriptor->name = "config-reset";
index 74a1ea4724ce7b0dd59868018bc256d2b229489e..5289733f95685159a1453d3f6a79bd455919bc19 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef KDS_S2000W_OPTION_DESCRIPTORS_H
 #include <sane/sane.h>
 
+#define MAX_OPTION_COUNT 26
+
 SANE_Option_Descriptor* kds_s2000w_option_descriptor_init_option_descriptors();
 void kds_s2000w_option_descriptor_free_option_descriptors(SANE_Option_Descriptor* descriptor_array);
 
@@ -28,5 +30,6 @@ void kds_s2000w_option_descriptor_binarization_mode(SANE_Option_Descriptor* desc
 void kds_s2000w_option_descriptor_binarization_contrast(SANE_Option_Descriptor* descriptor);
 void kds_s2000w_option_descriptor_max_document_length(SANE_Option_Descriptor* descriptor);
 void kds_s2000w_option_descriptor_scan_source(SANE_Option_Descriptor* descriptor);
+void kds_s2000w_option_descriptor_custom_gamma(SANE_Option_Descriptor* descriptor);
 void kds_s2000w_option_descriptor_config_reset(SANE_Option_Descriptor* descriptor);
 #endif
\ No newline at end of file