From 2df0bed98bfd062d1d6952e208a41cd875115201 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 27 Jan 2024 17:44:22 +0100 Subject: [PATCH] add constraint for color mode --- src/kds_s2000w_net.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 74ad459..53c8ddb 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -101,11 +101,11 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( option_descriptors[option].unit = SANE_UNIT_DPI; option_descriptors[option].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; option_descriptors[option].constraint_type = SANE_CONSTRAINT_WORD_LIST; - SANE_Word* constraint_list = malloc(sizeof(SANE_Int) * 3); - constraint_list[0] = 2; - constraint_list[1] = 200; - constraint_list[2] = 300; - option_descriptors[option].constraint.word_list = constraint_list; + SANE_Word* constraint_dpi = malloc(sizeof(SANE_Int) * 3); + constraint_dpi[0] = 2; + constraint_dpi[1] = 200; + constraint_dpi[2] = 300; + option_descriptors[option].constraint.word_list = constraint_dpi; break; case 2: option_descriptors[option].name = "scanside"; @@ -113,19 +113,25 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( option_descriptors[option].desc = "scanside"; option_descriptors[option].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; option_descriptors[option].constraint_type = SANE_CONSTRAINT_STRING_LIST; - SANE_String_Const* constraint_strings = malloc(sizeof(char*) * 3); - constraint_strings[0] = "Simplex"; - constraint_strings[1] = "Duplex"; - constraint_strings[2] = NULL; - option_descriptors[option].constraint.string_list = constraint_strings; + SANE_String_Const* constraint_scanside = malloc(sizeof(char*) * 3); + constraint_scanside[0] = "Simplex"; + constraint_scanside[1] = "Duplex"; + constraint_scanside[2] = NULL; + option_descriptors[option].constraint.string_list = constraint_scanside; break; case 3: option_descriptors[option].name = "colormode"; option_descriptors[option].title = "colormode"; option_descriptors[option].desc = "colormode"; - option_descriptors[option].cap = SANE_CAP_SOFT_DETECT; - option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE; - option_descriptors[option].constraint.string_list = NULL; + option_descriptors[option].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; + option_descriptors[option].constraint_type = SANE_CONSTRAINT_STRING_LIST; + SANE_String_Const* constraint_colormode = malloc(sizeof(char*) * 5); + constraint_colormode[0] = "Color"; + constraint_colormode[1] = "Gray"; + constraint_colormode[2] = "BW"; + constraint_colormode[3] = "Color_BW"; + constraint_colormode[4] = NULL; + option_descriptors[option].constraint.string_list = constraint_colormode; break; case 4: option_descriptors[option].name = "skipblankpages"; -- 2.39.5