kopia lustrzana https://gitlab.com/sane-project/backends
pixma: auto generate sane options files
This prevents from fixing stuff in generated files. Generated from pixma.c, bottom comment area.merge-requests/244/head
rodzic
537fbc9bf6
commit
b957674f65
|
@ -56,6 +56,14 @@ dll-preload.h:
|
|||
fi; \
|
||||
echo "};" >> $@
|
||||
|
||||
# generate options files for pixma backend
|
||||
pixma/pixma_sane_options.h:
|
||||
@echo Generating pixma_sane_options.h from pixma.c
|
||||
@python pixma/scripts/pixma_gen_options.py h < pixma/pixma.c > pixma/pixma_sane_options.h
|
||||
pixma/pixma_sane_options.c:
|
||||
@echo Generating pixma_sane_options.c from pixma.c
|
||||
@python pixma/scripts/pixma_gen_options.py < pixma/pixma.c > pixma/pixma_sane_options.c
|
||||
|
||||
# TODO: This really belongs together with the saned sources and
|
||||
# should be installed there as well.
|
||||
EXTRA_DIST += saned.conf.in
|
||||
|
@ -943,7 +951,9 @@ libsane_pixma_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS)
|
|||
libsane_pixma_la_LIBADD = $(COMMON_LIBS) libpixma.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) $(XML_LIBS) $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS)
|
||||
EXTRA_DIST += pixma.conf.in
|
||||
# included in pixma.c
|
||||
EXTRA_DIST += pixma/pixma_sane_options.c pixma/pixma_sane_options.h
|
||||
BUILT_SOURCES = pixma/pixma_sane_options.c pixma/pixma_sane_options.h
|
||||
CLEANFILES += pixma/pixma_sane_options.c pixma/pixma_sane_options.h
|
||||
|
||||
|
||||
libplustek_la_SOURCES = plustek.c plustek.h
|
||||
libplustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek
|
||||
|
@ -1213,7 +1223,7 @@ libdll_preload_la_LIBADD = ../sanei/sanei_usb.lo $(USB_LIBS) $(XML_LIBS)
|
|||
libdll_la_SOURCES = dll.c
|
||||
libdll_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll
|
||||
libdll_la_LIBADD = ../sanei/sanei_usb.lo $(USB_LIBS) $(XML_LIBS)
|
||||
BUILT_SOURCES = dll-preload.h
|
||||
BUILT_SOURCES += dll-preload.h
|
||||
CLEANFILES += dll-preload.h
|
||||
|
||||
nodist_libsane_dll_la_SOURCES = dll-s.c
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
pixma_sane_options.[ch]
|
|
@ -1,361 +0,0 @@
|
|||
/* Automatically generated from pixma.c */
|
||||
static const SANE_Range constraint_gamma_table =
|
||||
{ 0,0xffff,0 };
|
||||
static const SANE_Range constraint_gamma =
|
||||
{ SANE_FIX(0.3),SANE_FIX(5),SANE_FIX(0) };
|
||||
static const SANE_Range constraint_threshold =
|
||||
{ 0,100,1 };
|
||||
static const SANE_Range constraint_threshold_curve =
|
||||
{ 0,127,1 };
|
||||
static const SANE_Range constraint_adf_wait =
|
||||
{ 0,3600,1 };
|
||||
|
||||
|
||||
static
|
||||
int find_string_in_list(SANE_String_Const str, const SANE_String_Const *list)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; list[i] && strcmp(str, list[i]) != 0; i++) {}
|
||||
return i;
|
||||
}
|
||||
|
||||
static
|
||||
int build_option_descriptors(struct pixma_sane_t *ss)
|
||||
{
|
||||
SANE_Option_Descriptor *sod;
|
||||
option_descriptor_t *opt;
|
||||
|
||||
memset(OPT_IN_CTX, 0, sizeof(OPT_IN_CTX));
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_opt_num_opts]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_TITLE_NUM_OPTIONS;
|
||||
sod->desc = SANE_DESC_NUM_OPTIONS;
|
||||
sod->name = "";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_DETECT;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_opt_num_opts].info = 0;
|
||||
opt->def.w = opt_last;
|
||||
opt->val.w = opt_last;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt__group_1]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_GROUP;
|
||||
sod->title = SANE_I18N("Scan mode");
|
||||
sod->desc = sod->title;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_resolution]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_TITLE_SCAN_RESOLUTION;
|
||||
sod->desc = SANE_DESC_SCAN_RESOLUTION;
|
||||
sod->name = "resolution";
|
||||
sod->unit = SANE_UNIT_DPI;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC;
|
||||
sod->constraint_type = SANE_CONSTRAINT_WORD_LIST;
|
||||
sod->constraint.word_list = ss->dpi_list;
|
||||
OPT_IN_CTX[opt_resolution].info = SANE_INFO_RELOAD_PARAMS;
|
||||
opt->def.w = 75;
|
||||
opt->val.w = 75;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_mode]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_STRING;
|
||||
sod->title = SANE_TITLE_SCAN_MODE;
|
||||
sod->desc = SANE_DESC_SCAN_MODE;
|
||||
sod->name = "mode";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 31;
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC;
|
||||
sod->constraint_type = SANE_CONSTRAINT_STRING_LIST;
|
||||
sod->constraint.string_list = ss->mode_list;
|
||||
OPT_IN_CTX[opt_mode].info = SANE_INFO_RELOAD_PARAMS;
|
||||
opt->def.s = SANE_VALUE_SCAN_MODE_COLOR;
|
||||
opt->val.w = find_string_in_list(opt->def.s, sod->constraint.string_list);
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_source]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_STRING;
|
||||
sod->title = SANE_TITLE_SCAN_SOURCE;
|
||||
sod->desc = SANE_I18N("Selects the scan source (such as a document-feeder). Set source before mode and resolution. Resets mode and resolution to auto values.");
|
||||
sod->name = "source";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 31;
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT;
|
||||
sod->constraint_type = SANE_CONSTRAINT_STRING_LIST;
|
||||
sod->constraint.string_list = ss->source_list;
|
||||
OPT_IN_CTX[opt_source].info = 0;
|
||||
opt->def.s = SANE_I18N("Flatbed");
|
||||
opt->val.w = find_string_in_list(opt->def.s, sod->constraint.string_list);
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_button_controlled]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_BOOL;
|
||||
sod->title = SANE_I18N("Button-controlled scan");
|
||||
sod->desc = SANE_I18N("When enabled, scan process will not start immediately. To proceed, press \"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To cancel, press \"GRAY\" button.");
|
||||
sod->name = "button-controlled";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_INACTIVE;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_button_controlled].info = 0;
|
||||
opt->def.w = SANE_FALSE;
|
||||
opt->val.w = SANE_FALSE;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt__group_2]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_GROUP;
|
||||
sod->title = SANE_I18N("Gamma");
|
||||
sod->desc = sod->title;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_custom_gamma]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_BOOL;
|
||||
sod->title = SANE_TITLE_CUSTOM_GAMMA;
|
||||
sod->desc = SANE_DESC_CUSTOM_GAMMA;
|
||||
sod->name = "custom-gamma";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_custom_gamma].info = 0;
|
||||
opt->def.w = SANE_FALSE;
|
||||
opt->val.w = SANE_FALSE;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_gamma_table]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_TITLE_GAMMA_VECTOR;
|
||||
sod->desc = SANE_I18N("Gamma-correction table with 1024 entries. In color mode this option equally affects the red, green, and blue channels simultaneously (i.e., it is an intensity gamma table).");
|
||||
sod->name = "gamma-table";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1024 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &constraint_gamma_table;
|
||||
OPT_IN_CTX[opt_gamma_table].info = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_gamma]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_FIXED;
|
||||
sod->title = SANE_I18N("Gamma function exponent");
|
||||
sod->desc = SANE_I18N("Changes intensity of midtones");
|
||||
sod->name = "gamma";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &constraint_gamma;
|
||||
OPT_IN_CTX[opt_gamma].info = 0;
|
||||
opt->def.w = SANE_FIX(AUTO_GAMMA);
|
||||
opt->val.w = SANE_FIX(AUTO_GAMMA);
|
||||
|
||||
opt = &(OPT_IN_CTX[opt__group_3]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_GROUP;
|
||||
sod->title = SANE_I18N("Geometry");
|
||||
sod->desc = sod->title;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_tl_x]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_FIXED;
|
||||
sod->title = SANE_TITLE_SCAN_TL_X;
|
||||
sod->desc = SANE_DESC_SCAN_TL_X;
|
||||
sod->name = "tl-x";
|
||||
sod->unit = SANE_UNIT_MM;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &ss->xrange;
|
||||
OPT_IN_CTX[opt_tl_x].info = SANE_INFO_RELOAD_PARAMS;
|
||||
opt->def.w = SANE_FIX(0);
|
||||
opt->val.w = SANE_FIX(0);
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_tl_y]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_FIXED;
|
||||
sod->title = SANE_TITLE_SCAN_TL_Y;
|
||||
sod->desc = SANE_DESC_SCAN_TL_Y;
|
||||
sod->name = "tl-y";
|
||||
sod->unit = SANE_UNIT_MM;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &ss->yrange;
|
||||
OPT_IN_CTX[opt_tl_y].info = SANE_INFO_RELOAD_PARAMS;
|
||||
opt->def.w = SANE_FIX(0);
|
||||
opt->val.w = SANE_FIX(0);
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_br_x]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_FIXED;
|
||||
sod->title = SANE_TITLE_SCAN_BR_X;
|
||||
sod->desc = SANE_DESC_SCAN_BR_X;
|
||||
sod->name = "br-x";
|
||||
sod->unit = SANE_UNIT_MM;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &ss->xrange;
|
||||
OPT_IN_CTX[opt_br_x].info = SANE_INFO_RELOAD_PARAMS;
|
||||
opt->def.w = sod->constraint.range->max;
|
||||
opt->val.w = sod->constraint.range->max;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_br_y]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_FIXED;
|
||||
sod->title = SANE_TITLE_SCAN_BR_Y;
|
||||
sod->desc = SANE_DESC_SCAN_BR_Y;
|
||||
sod->name = "br-y";
|
||||
sod->unit = SANE_UNIT_MM;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &ss->yrange;
|
||||
OPT_IN_CTX[opt_br_y].info = SANE_INFO_RELOAD_PARAMS;
|
||||
opt->def.w = sod->constraint.range->max;
|
||||
opt->val.w = sod->constraint.range->max;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt__group_4]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_GROUP;
|
||||
sod->title = SANE_I18N("Buttons");
|
||||
sod->desc = sod->title;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_button_update]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_BUTTON;
|
||||
sod->title = SANE_I18N("Update button state");
|
||||
sod->desc = sod->title;
|
||||
sod->name = "button-update";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 0;
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_button_update].info = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_button_1]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_I18N("Button 1");
|
||||
sod->desc = sod->title;
|
||||
sod->name = "button-1";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_button_1].info = 0;
|
||||
opt->def.w = 0;
|
||||
opt->val.w = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_button_2]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_I18N("Button 2");
|
||||
sod->desc = sod->title;
|
||||
sod->name = "button-2";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_button_2].info = 0;
|
||||
opt->def.w = 0;
|
||||
opt->val.w = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_original]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_I18N("Type of original to scan");
|
||||
sod->desc = sod->title;
|
||||
sod->name = "original";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_original].info = 0;
|
||||
opt->def.w = 0;
|
||||
opt->val.w = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_target]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_I18N("Target operation type");
|
||||
sod->desc = sod->title;
|
||||
sod->name = "target";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_target].info = 0;
|
||||
opt->def.w = 0;
|
||||
opt->val.w = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_scan_resolution]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_I18N("Scan resolution");
|
||||
sod->desc = sod->title;
|
||||
sod->name = "scan-resolution";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
|
||||
sod->constraint_type = SANE_CONSTRAINT_NONE;
|
||||
OPT_IN_CTX[opt_scan_resolution].info = 0;
|
||||
opt->def.w = 0;
|
||||
opt->val.w = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt__group_5]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_GROUP;
|
||||
sod->title = SANE_I18N("Extras");
|
||||
sod->desc = sod->title;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_threshold]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_TITLE_THRESHOLD;
|
||||
sod->desc = SANE_DESC_THRESHOLD;
|
||||
sod->name = "threshold";
|
||||
sod->unit = SANE_UNIT_PERCENT;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &constraint_threshold;
|
||||
OPT_IN_CTX[opt_threshold].info = 0;
|
||||
opt->def.w = 50;
|
||||
opt->val.w = 50;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_threshold_curve]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_I18N("Threshold curve");
|
||||
sod->desc = SANE_I18N("Dynamic threshold curve, from light to dark, normally 50-65");
|
||||
sod->name = "threshold-curve";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &constraint_threshold_curve;
|
||||
OPT_IN_CTX[opt_threshold_curve].info = 0;
|
||||
|
||||
opt = &(OPT_IN_CTX[opt_adf_wait]);
|
||||
sod = &opt->sod;
|
||||
sod->type = SANE_TYPE_INT;
|
||||
sod->title = SANE_I18N("ADF Waiting Time");
|
||||
sod->desc = SANE_I18N("When set, the scanner waits upto the specified time in seconds for a new document inserted into the automatic document feeder.");
|
||||
sod->name = "adf-wait";
|
||||
sod->unit = SANE_UNIT_NONE;
|
||||
sod->size = 1 * sizeof(SANE_Word);
|
||||
sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE;
|
||||
sod->constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
sod->constraint.range = &constraint_adf_wait;
|
||||
OPT_IN_CTX[opt_adf_wait].info = 0;
|
||||
opt->def.w = 0;
|
||||
opt->val.w = 0;
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
/* Automatically generated from pixma.c */
|
||||
|
||||
typedef union {
|
||||
SANE_Word w;
|
||||
SANE_Int i;
|
||||
SANE_Bool b;
|
||||
SANE_Fixed f;
|
||||
SANE_String s;
|
||||
void *ptr;
|
||||
} option_value_t;
|
||||
|
||||
typedef enum {
|
||||
opt_opt_num_opts,
|
||||
opt__group_1,
|
||||
opt_resolution,
|
||||
opt_mode,
|
||||
opt_source,
|
||||
opt_button_controlled,
|
||||
opt__group_2,
|
||||
opt_custom_gamma,
|
||||
opt_gamma_table,
|
||||
opt_gamma,
|
||||
opt__group_3,
|
||||
opt_tl_x,
|
||||
opt_tl_y,
|
||||
opt_br_x,
|
||||
opt_br_y,
|
||||
opt__group_4,
|
||||
opt_button_update,
|
||||
opt_button_1,
|
||||
opt_button_2,
|
||||
opt_original,
|
||||
opt_target,
|
||||
opt_scan_resolution,
|
||||
opt__group_5,
|
||||
opt_threshold,
|
||||
opt_threshold_curve,
|
||||
opt_adf_wait,
|
||||
opt_last
|
||||
} option_t;
|
||||
|
||||
typedef struct {
|
||||
SANE_Option_Descriptor sod;
|
||||
option_value_t val,def;
|
||||
SANE_Word info;
|
||||
} option_descriptor_t;
|
||||
|
||||
struct pixma_sane_t;
|
||||
static int build_option_descriptors(struct pixma_sane_t *ss);
|
Ładowanie…
Reference in New Issue