kopia lustrzana https://gitlab.com/sane-project/backends
SnapScan backend version 1.4.11
rodzic
356237e1fa
commit
ab6cf03059
|
|
@ -49,6 +49,67 @@
|
|||
/* $Id$
|
||||
SANE SnapScan backend */
|
||||
|
||||
/* ranges */
|
||||
static const SANE_Range x_range_fb =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (216.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range y_range_fb =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (297.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range x_range_tpo_default =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (129.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range y_range_tpo_default =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (180.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range x_range_tpo_1236 =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (203.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range y_range_tpo_1236 =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (254.0), 0
|
||||
}; /* mm */
|
||||
static SANE_Range x_range_tpo;
|
||||
static SANE_Range y_range_tpo;
|
||||
static const SANE_Range gamma_range =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (4.0), 0
|
||||
};
|
||||
static const SANE_Range gamma_vrange =
|
||||
{
|
||||
0, 255, 1
|
||||
};
|
||||
static const SANE_Range lpr_range =
|
||||
{
|
||||
1, 50, 1
|
||||
};
|
||||
|
||||
static const SANE_Range brightness_range =
|
||||
{
|
||||
-400 << SANE_FIXED_SCALE_SHIFT,
|
||||
400 << SANE_FIXED_SCALE_SHIFT,
|
||||
1 << SANE_FIXED_SCALE_SHIFT
|
||||
};
|
||||
|
||||
static const SANE_Range contrast_range =
|
||||
{
|
||||
-100 << SANE_FIXED_SCALE_SHIFT,
|
||||
400 << SANE_FIXED_SCALE_SHIFT,
|
||||
1 << SANE_FIXED_SCALE_SHIFT
|
||||
};
|
||||
|
||||
static const SANE_Range positive_percent_range =
|
||||
{
|
||||
0 << SANE_FIXED_SCALE_SHIFT,
|
||||
100 << SANE_FIXED_SCALE_SHIFT,
|
||||
1 << SANE_FIXED_SCALE_SHIFT
|
||||
};
|
||||
|
||||
/* init_options -- initialize the option set for a scanner; expects the
|
||||
scanner structure's hardware configuration byte (hconfig) to be valid.
|
||||
|
||||
|
|
@ -213,7 +274,7 @@ static void init_options (SnapScan_Scanner * ps)
|
|||
if (ps->hconfig & HCFG_TPO)
|
||||
{
|
||||
source_list[i++] = src_tpo;
|
||||
po[OPT_SOURCE].cap ^= SANE_CAP_INACTIVE;
|
||||
po[OPT_SOURCE].cap &= ~SANE_CAP_INACTIVE;
|
||||
}
|
||||
source_list[i] = 0;
|
||||
po[OPT_SOURCE].size = max_string_size(source_list);
|
||||
|
|
@ -553,7 +614,7 @@ static void init_options (SnapScan_Scanner * ps)
|
|||
"Send an Inquiry command to the scanner and dump out some of "
|
||||
"the current settings.");
|
||||
po[OPT_INQUIRY].type = SANE_TYPE_BUTTON;
|
||||
po[OPT_INQUIRY].cap = SANE_CAP_ADVANCED;
|
||||
po[OPT_INQUIRY].cap = SANE_CAP_ADVANCED | SANE_CAP_SOFT_SELECT;
|
||||
po[OPT_INQUIRY].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
po[OPT_SELF_TEST].name = "do-self-test";
|
||||
|
|
@ -561,7 +622,7 @@ static void init_options (SnapScan_Scanner * ps)
|
|||
po[OPT_SELF_TEST].desc = SANE_I18N(
|
||||
"Send a Self Test command to the scanner and report the result.");
|
||||
po[OPT_SELF_TEST].type = SANE_TYPE_BUTTON;
|
||||
po[OPT_SELF_TEST].cap = SANE_CAP_ADVANCED;
|
||||
po[OPT_SELF_TEST].cap = SANE_CAP_ADVANCED | SANE_CAP_SOFT_SELECT;
|
||||
po[OPT_SELF_TEST].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
po[OPT_REQ_SENSE].name = "do-req-sense";
|
||||
|
|
@ -570,7 +631,7 @@ static void init_options (SnapScan_Scanner * ps)
|
|||
"Send a Request Sense command to the scanner, and print out the sense "
|
||||
"report.");
|
||||
po[OPT_REQ_SENSE].type = SANE_TYPE_BUTTON;
|
||||
po[OPT_REQ_SENSE].cap = SANE_CAP_ADVANCED;
|
||||
po[OPT_REQ_SENSE].cap = SANE_CAP_ADVANCED | SANE_CAP_SOFT_SELECT;
|
||||
po[OPT_REQ_SENSE].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
po[OPT_REL_UNIT].name = "do-rel-unit";
|
||||
|
|
@ -579,7 +640,7 @@ static void init_options (SnapScan_Scanner * ps)
|
|||
"Send a Release Unit command to the scanner. This is the same as "
|
||||
"a cancel command.");
|
||||
po[OPT_REL_UNIT].type = SANE_TYPE_BUTTON;
|
||||
po[OPT_REL_UNIT].cap = SANE_CAP_ADVANCED;
|
||||
po[OPT_REL_UNIT].cap = SANE_CAP_ADVANCED | SANE_CAP_SOFT_SELECT;
|
||||
po[OPT_REL_UNIT].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
}
|
||||
|
||||
|
|
@ -990,9 +1051,9 @@ SANE_Status sane_control_option (SANE_Handle h,
|
|||
}
|
||||
/* Adjust actual range values to new max values */
|
||||
if (pss->brx > pss->pdev->x_range.max)
|
||||
pss->brx = pss->pdev->x_range.max - pdev->x_range.quant;
|
||||
pss->brx = pss->pdev->x_range.max;
|
||||
if (pss->bry > pss->pdev->y_range.max)
|
||||
pss->bry = pss->pdev->y_range.max - pdev->y_range.quant;
|
||||
pss->bry = pss->pdev->y_range.max;
|
||||
pss->predef_window = pdw_none;
|
||||
if (pss->source_s)
|
||||
free (pss->source_s);
|
||||
|
|
@ -1003,48 +1064,48 @@ SANE_Status sane_control_option (SANE_Handle h,
|
|||
case OPT_TLX:
|
||||
pss->tlx = *(SANE_Fixed *) v;
|
||||
pss->predef_window = pdw_none;
|
||||
if (fabs(pss->tlx - pdev->x_range.max) < pdev->x_range.quant) {
|
||||
pss->tlx -= pdev->x_range.quant;
|
||||
if (pss->tlx > pdev->x_range.max) {
|
||||
pss->tlx = pdev->x_range.max;
|
||||
}
|
||||
if (pss->brx < pss->tlx) {
|
||||
pss->brx = pss->tlx + pdev->x_range.quant;
|
||||
pss->brx = pss->tlx;
|
||||
}
|
||||
if (i)
|
||||
*i = SANE_INFO_RELOAD_PARAMS;
|
||||
break;
|
||||
case OPT_TLY:
|
||||
pss->tly = *(SANE_Fixed *) v;
|
||||
if (fabs(pss->tly - pdev->y_range.max) < pdev->y_range.quant) {
|
||||
pss->tly -= pdev->y_range.quant;
|
||||
}
|
||||
pss->predef_window = pdw_none;
|
||||
if (pss->tly > pdev->y_range.max){
|
||||
pss->tly = pdev->y_range.max;
|
||||
}
|
||||
if (pss->bry < pss->tly) {
|
||||
pss->bry = pss->tly + pdev->y_range.quant;
|
||||
pss->bry = pss->tly;
|
||||
}
|
||||
if (i)
|
||||
*i = SANE_INFO_RELOAD_PARAMS;
|
||||
break;
|
||||
case OPT_BRX:
|
||||
pss->brx = *(SANE_Fixed *) v;
|
||||
if (fabs(pss->brx - pdev->x_range.min) < pdev->x_range.quant) {
|
||||
pss->brx += pdev->x_range.quant;
|
||||
pss->predef_window = pdw_none;
|
||||
if (pss->brx < pdev->x_range.min) {
|
||||
pss->brx = pdev->x_range.min;
|
||||
}
|
||||
if (pss->brx < pss->tlx) {
|
||||
pss->tlx = pss->brx - pdev->x_range.quant;
|
||||
pss->tlx = pss->brx;
|
||||
}
|
||||
pss->predef_window = pdw_none;
|
||||
if (i)
|
||||
*i = SANE_INFO_RELOAD_PARAMS;
|
||||
break;
|
||||
case OPT_BRY:
|
||||
pss->bry = *(SANE_Fixed *) v;
|
||||
if (fabs(pss->bry - pdev->y_range.min) < pdev->y_range.quant) {
|
||||
pss->bry += pdev->y_range.quant;
|
||||
pss->predef_window = pdw_none;
|
||||
if (pss->bry < pdev->y_range.min) {
|
||||
pss->bry = pdev->y_range.min;
|
||||
}
|
||||
if (pss->bry < pss->tly) {
|
||||
pss->tly = pss->bry - pdev->y_range.quant;
|
||||
pss->tly = pss->bry;
|
||||
}
|
||||
pss->predef_window = pdw_none;
|
||||
if (i)
|
||||
*i = SANE_INFO_RELOAD_PARAMS;
|
||||
break;
|
||||
|
|
@ -1445,8 +1506,8 @@ SANE_Status sane_control_option (SANE_Handle h,
|
|||
|
||||
/*
|
||||
* $Log$
|
||||
* Revision 1.1 2002/03/24 12:32:26 oliverschwartz
|
||||
* Snapscan backend version 1.4.9
|
||||
* Revision 1.2 2002/04/23 22:37:51 oliverschwartz
|
||||
* SnapScan backend version 1.4.11
|
||||
*
|
||||
* Revision 1.1 2002/03/24 12:07:15 oliverschwartz
|
||||
* Moved option functions from snapscan.c to snapscan-options.c
|
||||
|
|
|
|||
|
|
@ -545,7 +545,7 @@ static SANE_Status inquiry (SnapScan_Scanner *pss)
|
|||
"%s: effective buffer size = %lu bytes, %lu lines\n",
|
||||
me,
|
||||
(u_long) pss->buf_sz,
|
||||
(u_long) (pss->buf_sz ? pss->buf_sz / pss->lines : 0));
|
||||
(u_long) (pss->lines ? pss->buf_sz / pss->lines : 0));
|
||||
DBG (DL_DATA_TRACE,
|
||||
"%s: expected total scan data: %lu bytes\n",
|
||||
me,
|
||||
|
|
@ -772,30 +772,23 @@ static SANE_Status set_window (SnapScan_Scanner *pss)
|
|||
(int) (pss->actual_res*IN_PER_MM*SANE_UNFIX(pss->brx));
|
||||
int bryp =
|
||||
(int) (pss->actual_res*IN_PER_MM*SANE_UNFIX(pss->bry));
|
||||
int tmp;
|
||||
|
||||
/* we don't guard against brx < tlx and bry < tly in the options */
|
||||
if (brxp < tlxp)
|
||||
{
|
||||
tmp = tlxp;
|
||||
tlxp = brxp;
|
||||
brxp = tmp;
|
||||
/* Check for brx > tlx and bry > tly */
|
||||
if (brxp <= tlxp) {
|
||||
tlxp = MAX (0, brxp - 75);
|
||||
}
|
||||
if (bryp <= tlyp) {
|
||||
tlyp = MAX (0, bryp - 75);
|
||||
}
|
||||
|
||||
if (bryp < tlyp)
|
||||
{
|
||||
tmp = tlyp;
|
||||
tlyp = bryp;
|
||||
bryp = tmp;
|
||||
}
|
||||
u_int_to_u_char4p (tlxp, pc + SET_WINDOW_P_TLX);
|
||||
u_int_to_u_char4p (tlyp, pc + SET_WINDOW_P_TLY);
|
||||
u_int_to_u_char4p (MAX (((unsigned) (brxp - tlxp)), 75),
|
||||
pc + SET_WINDOW_P_WIDTH);
|
||||
u_int_to_u_char4p (MAX (((unsigned) (bryp - tlyp)), 75),
|
||||
pc + SET_WINDOW_P_LENGTH);
|
||||
DBG (DL_CALL_TRACE, "%s Width: %d\n", me, brxp-tlxp);
|
||||
DBG (DL_CALL_TRACE, "%s Length: %d\n", me, bryp-tlyp);
|
||||
DBG (DL_INFO, "%s Width: %d\n", me, brxp-tlxp);
|
||||
DBG (DL_INFO, "%s Length: %d\n", me, bryp-tlyp);
|
||||
}
|
||||
pc[SET_WINDOW_P_BRIGHTNESS] = 128;
|
||||
pc[SET_WINDOW_P_THRESHOLD] =
|
||||
|
|
@ -809,7 +802,7 @@ static SANE_Status set_window (SnapScan_Scanner *pss)
|
|||
mode = pss->preview_mode;
|
||||
|
||||
bpp = pss->pdev->depths[mode];
|
||||
DBG (DL_CALL_TRACE, "%s Mode: %d\n", me, mode);
|
||||
DBG (DL_MINOR_INFO, "%s Mode: %d\n", me, mode);
|
||||
switch (mode)
|
||||
{
|
||||
case MD_COLOUR:
|
||||
|
|
@ -835,7 +828,7 @@ static SANE_Status set_window (SnapScan_Scanner *pss)
|
|||
}
|
||||
|
||||
pc[SET_WINDOW_P_BITS_PER_PIX] = bpp;
|
||||
DBG (DL_DATA_TRACE, "%s: bits-per-pixel set to %d\n", me, (int) bpp);
|
||||
DBG (DL_INFO, "%s: bits-per-pixel set to %d\n", me, (int) bpp);
|
||||
}
|
||||
/* the RIF bit is the high bit of the padding type */
|
||||
pc[SET_WINDOW_P_PADDING_TYPE] = 0x00 /*| (pss->negative ? 0x00 : 0x80) */ ;
|
||||
|
|
@ -871,12 +864,11 @@ static SANE_Status set_window (SnapScan_Scanner *pss)
|
|||
source |= 0x08;
|
||||
}
|
||||
pc[SET_WINDOW_P_OPERATION_MODE] = source;
|
||||
DBG (DL_DATA_TRACE, "%s: operation mode set to %d\n", me, (int) source);
|
||||
DBG (DL_MINOR_INFO, "%s: operation mode set to %d\n", me, (int) source);
|
||||
pc[SET_WINDOW_P_RED_UNDER_COLOR] = 0xff; /* defaults */
|
||||
pc[SET_WINDOW_P_BLUE_UNDER_COLOR] = 0xff;
|
||||
pc[SET_WINDOW_P_GREEN_UNDER_COLOR] = 0xff;
|
||||
|
||||
DBG (DL_CALL_TRACE, "%s\n", me);
|
||||
status = snapscan_cmd (pss->pdev->bus, pss->fd, pss->cmd,
|
||||
SET_WINDOW_TOTAL_LEN, NULL, NULL);
|
||||
CHECK_STATUS (status, me, "snapscan_cmd");
|
||||
|
|
@ -1046,7 +1038,7 @@ static SANE_Status calibrate (SnapScan_Scanner *pss)
|
|||
SANE_Status status;
|
||||
int line_length = calibration_line_length(pss);
|
||||
|
||||
if (pss->hconfig & HCFG_CAL_ALLOWED) {
|
||||
if ((pss->hconfig & HCFG_CAL_ALLOWED) && line_length) {
|
||||
int num_lines = pss->phys_buf_sz / line_length;
|
||||
if (num_lines > NUM_CALIBRATION_LINES)
|
||||
{
|
||||
|
|
@ -1177,8 +1169,11 @@ static SANE_Status download_firmware(SnapScan_Scanner * pss)
|
|||
|
||||
/*
|
||||
* $Log$
|
||||
* Revision 1.14 2002/04/10 21:45:52 oliverschwartz
|
||||
* Removed illegal character / removed declaration of bqelements
|
||||
* Revision 1.15 2002/04/23 22:37:52 oliverschwartz
|
||||
* SnapScan backend version 1.4.11
|
||||
*
|
||||
* Revision 1.29 2002/04/10 21:46:48 oliverschwartz
|
||||
* Removed illegal character
|
||||
*
|
||||
* Revision 1.28 2002/04/10 21:01:02 oliverschwartz
|
||||
* Disable send_diagnostic() for 1236s
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
Emmanuel Blot, Mikko Tyolajarvi, David Mosberger-Tang, Wolfgang Goeller,
|
||||
Petter Reinholdtsen, Gary Plewa, Sebastien Sable, Mikael Magnusson,
|
||||
Oliver Schwartz and Kevin Charter
|
||||
|
||||
|
||||
This file is part of the SANE package.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
|
||||
As a special exception, the authors of SANE give permission for
|
||||
additional uses of the libraries contained in this release of SANE.
|
||||
|
||||
|
|
@ -34,11 +34,11 @@
|
|||
This exception does not, however, invalidate any other reasons why
|
||||
the executable file might be covered by the GNU General Public
|
||||
License.
|
||||
|
||||
|
||||
If you submit changes to SANE to the maintainers to be included in
|
||||
a subsequent release, you agree by submitting the changes that
|
||||
those changes may be distributed with this exception intact.
|
||||
|
||||
|
||||
If you write modifications of your own for SANE, it is your choice
|
||||
whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, delete this exception notice.
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
|
||||
#define EXPECTED_MAJOR 1
|
||||
#define MINOR_VERSION 4
|
||||
#define BUILD 9
|
||||
#define BUILD 11
|
||||
|
||||
#include "snapscan.h"
|
||||
|
||||
|
|
@ -98,13 +98,13 @@
|
|||
#include "../include/sane/sanei_config.h"
|
||||
|
||||
/* debug levels */
|
||||
#define DL_INFO 1
|
||||
#define DL_MINOR_INFO 2
|
||||
#define DL_INFO 10
|
||||
#define DL_MINOR_INFO 15
|
||||
#define DL_MAJOR_ERROR 1
|
||||
#define DL_MINOR_ERROR 2
|
||||
#define DL_DATA_TRACE 5
|
||||
#define DL_CALL_TRACE 10
|
||||
#define DL_VERBOSE 30
|
||||
#define DL_DATA_TRACE 50
|
||||
#define DL_CALL_TRACE 30
|
||||
#define DL_VERBOSE 20
|
||||
|
||||
#define CHECK_STATUS(s,caller,cmd) \
|
||||
if ((s) != SANE_STATUS_GOOD) { DBG(DL_MAJOR_ERROR, "%s: %s command failed: %s\n", caller, (cmd), sane_strstatus(s)); return s; }
|
||||
|
|
@ -149,66 +149,6 @@ if ((s) != SANE_STATUS_GOOD) { DBG(DL_MAJOR_ERROR, "%s: %s command failed: %s\n"
|
|||
static SANE_Int def_rgb_lpr = 4;
|
||||
static SANE_Int def_gs_lpr = 12;
|
||||
|
||||
/* ranges */
|
||||
static const SANE_Range x_range_fb =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (216.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range y_range_fb =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (297.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range x_range_tpo_default =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (129.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range y_range_tpo_default =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (180.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range x_range_tpo_1236 =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (203.0), 0
|
||||
}; /* mm */
|
||||
static const SANE_Range y_range_tpo_1236 =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (254.0), 0
|
||||
}; /* mm */
|
||||
static SANE_Range x_range_tpo;
|
||||
static SANE_Range y_range_tpo;
|
||||
static const SANE_Range gamma_range =
|
||||
{
|
||||
SANE_FIX (0.0), SANE_FIX (4.0), 0
|
||||
};
|
||||
static const SANE_Range gamma_vrange =
|
||||
{
|
||||
0, 255, 1
|
||||
};
|
||||
static const SANE_Range lpr_range =
|
||||
{
|
||||
1, 50, 1
|
||||
};
|
||||
|
||||
static const SANE_Range brightness_range =
|
||||
{
|
||||
-400 << SANE_FIXED_SCALE_SHIFT,
|
||||
400 << SANE_FIXED_SCALE_SHIFT,
|
||||
1 << SANE_FIXED_SCALE_SHIFT
|
||||
};
|
||||
|
||||
static const SANE_Range contrast_range =
|
||||
{
|
||||
-100 << SANE_FIXED_SCALE_SHIFT,
|
||||
400 << SANE_FIXED_SCALE_SHIFT,
|
||||
1 << SANE_FIXED_SCALE_SHIFT
|
||||
};
|
||||
|
||||
static const SANE_Range positive_percent_range =
|
||||
{
|
||||
0 << SANE_FIXED_SCALE_SHIFT,
|
||||
100 << SANE_FIXED_SCALE_SHIFT,
|
||||
1 << SANE_FIXED_SCALE_SHIFT
|
||||
};
|
||||
|
||||
/* predefined preview mode name */
|
||||
static char md_auto[] = "Auto";
|
||||
|
|
@ -812,16 +752,19 @@ SANE_Status sane_init (SANE_Int *version_code,
|
|||
}
|
||||
}
|
||||
}
|
||||
if (strncasecmp(dev_name, OPTIONS_KW, strlen(OPTIONS_KW)) == 0)
|
||||
else if (strncasecmp(dev_name, OPTIONS_KW, strlen(OPTIONS_KW)) == 0)
|
||||
continue; /* ignore options lines */
|
||||
|
||||
if (strncmp(dev_name, "usb", 3) == 0) {
|
||||
else if (strncmp(dev_name, "usb", 3) == 0) {
|
||||
sanei_usb_attach_matching_devices (dev_name, add_usb_device);
|
||||
} else if (strncmp(dev_name, "scsi", 4) == 0) {
|
||||
}
|
||||
else if (strncmp(dev_name, "scsi", 4) == 0) {
|
||||
sanei_config_attach_matching_devices (dev_name, add_scsi_device);
|
||||
} else if (strstr (dev_name, "usb")) {
|
||||
}
|
||||
else if (strstr (dev_name, "usb")) {
|
||||
add_usb_device(dev_name);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
add_scsi_device(dev_name);
|
||||
}
|
||||
}
|
||||
|
|
@ -1814,8 +1757,11 @@ SANE_Status sane_get_select_fd (SANE_Handle h, SANE_Int * fd)
|
|||
|
||||
/*
|
||||
* $Log$
|
||||
* Revision 1.20 2002/03/24 16:42:04 oliverschwartz
|
||||
* Fix segfault in snapscan.c
|
||||
* Revision 1.21 2002/04/23 22:37:53 oliverschwartz
|
||||
* SnapScan backend version 1.4.11
|
||||
*
|
||||
* Revision 1.42 2002/04/10 21:00:09 oliverschwartz
|
||||
* Check for NULL pointer before deleting device list
|
||||
*
|
||||
* Revision 1.41 2002/03/24 12:12:36 oliverschwartz
|
||||
* - Moved option functions to snapscan-options.c
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ typedef enum
|
|||
PRISA620S, /* Acer ScanPrisa 620 - 600 DPI */
|
||||
PRISA640, /* Acer ScanPrisa 640 - 600 DPI */
|
||||
PRISA4300, /* Acer ScanPrisa 3300/4300 - 600 DPI */
|
||||
PRISA4300_2, /* Acer ScanPrisa 3300/4300 - 600 DPI */
|
||||
PRISA4300_2, /* Acer ScanPrisa 3300/4300 - 600 DPI, 42 bit*/
|
||||
PRISA1240, /* Acer ScanPrisa 1240 - 1200 DPI */
|
||||
PRISA5300 /* Acer ScanPrisa 5300 - 1200 DPI */
|
||||
} SnapScan_Model;
|
||||
|
|
@ -120,7 +120,7 @@ static struct SnapScan_Driver_desc drivers[] =
|
|||
{PRISA620S, "Acer620"},
|
||||
{PRISA640, "Acer640"},
|
||||
{PRISA4300, "Acer4300"},
|
||||
{PRISA4300_2, "Acer4300-2"},
|
||||
{PRISA4300, "Acer4300 (42 bit)"},
|
||||
{PRISA1240, "Acer1240"},
|
||||
{PRISA5300, "Acer5300"}
|
||||
};
|
||||
|
|
@ -202,46 +202,46 @@ static struct SnapScan_USB_Model_desc usb_scanners[] =
|
|||
|
||||
typedef enum
|
||||
{
|
||||
OPT_COUNT = 0, /* option count */
|
||||
OPT_COUNT = 0, /* option count */
|
||||
OPT_MODE_GROUP, /* scan mode group */
|
||||
OPT_SCANRES, /* scan resolution */
|
||||
OPT_PREVIEW, /* preview mode toggle */
|
||||
OPT_MODE, /* scan mode */
|
||||
OPT_PREVIEW_MODE, /* preview mode */
|
||||
OPT_SCANRES, /* scan resolution */
|
||||
OPT_PREVIEW, /* preview mode toggle */
|
||||
OPT_MODE, /* scan mode */
|
||||
OPT_PREVIEW_MODE, /* preview mode */
|
||||
OPT_SOURCE, /* scan source (flatbed / TPO) */
|
||||
OPT_GEOMETRY_GROUP, /* geometry group */
|
||||
OPT_TLX, /* top left x */
|
||||
OPT_TLY, /* top left y */
|
||||
OPT_BRX, /* bottom right x */
|
||||
OPT_BRY, /* bottom right y */
|
||||
OPT_PREDEF_WINDOW, /* predefined window configuration */
|
||||
OPT_ENHANCEMENT_GROUP, /* enhancement group */
|
||||
OPT_QUALITY_CAL, /* quality calibration */
|
||||
OPT_HALFTONE, /* halftone flag */
|
||||
OPT_HALFTONE_PATTERN, /* halftone matrix */
|
||||
OPT_CUSTOM_GAMMA, /* use custom gamma tables */
|
||||
OPT_GAMMA_BIND,
|
||||
OPT_GAMMA_GS, /* gamma correction (greyscale) */
|
||||
OPT_GAMMA_R, /* gamma correction (red) */
|
||||
OPT_GAMMA_G, /* gamma correction (green) */
|
||||
OPT_GAMMA_B, /* gamma correction (blue) */
|
||||
OPT_GAMMA_VECTOR_GS, /* gamma correction vector (greyscale) */
|
||||
OPT_TLX, /* top left x */
|
||||
OPT_TLY, /* top left y */
|
||||
OPT_BRX, /* bottom right x */
|
||||
OPT_BRY, /* bottom right y */
|
||||
OPT_PREDEF_WINDOW, /* predefined window configuration */
|
||||
OPT_ENHANCEMENT_GROUP, /* enhancement group */
|
||||
OPT_QUALITY_CAL, /* quality calibration */
|
||||
OPT_HALFTONE, /* halftone flag */
|
||||
OPT_HALFTONE_PATTERN, /* halftone matrix */
|
||||
OPT_CUSTOM_GAMMA, /* use custom gamma tables */
|
||||
OPT_GAMMA_BIND, /* use same gamma value for all colors */
|
||||
OPT_GAMMA_GS, /* gamma correction (greyscale) */
|
||||
OPT_GAMMA_R, /* gamma correction (red) */
|
||||
OPT_GAMMA_G, /* gamma correction (green) */
|
||||
OPT_GAMMA_B, /* gamma correction (blue) */
|
||||
OPT_GAMMA_VECTOR_GS, /* gamma correction vector (greyscale) */
|
||||
OPT_GAMMA_VECTOR_R, /* gamma correction vector (red) */
|
||||
OPT_GAMMA_VECTOR_G, /* gamma correction vector (green) */
|
||||
OPT_GAMMA_VECTOR_B, /* gamma correction vector (blue) */
|
||||
OPT_NEGATIVE, /* swap black and white */
|
||||
OPT_THRESHOLD, /* threshold for line art */
|
||||
OPT_NEGATIVE, /* swap black and white */
|
||||
OPT_THRESHOLD, /* threshold for line art */
|
||||
OPT_BRIGHTNESS, /* brightness */
|
||||
OPT_CONTRAST, /* contrast */
|
||||
OPT_CONTRAST, /* contrast */
|
||||
OPT_ADVANCED_GROUP, /* advanced group */
|
||||
OPT_RGB_LPR, /* lines per scsi read (RGB) */
|
||||
OPT_RGB_LPR, /* lines per scsi read (RGB) */
|
||||
OPT_GS_LPR, /* lines per scsi read (GS) */
|
||||
OPT_SCSI_CMDS, /* a group */
|
||||
OPT_INQUIRY, /* inquiry command (button) */
|
||||
OPT_SELF_TEST, /* self test command (button) */
|
||||
OPT_REQ_SENSE, /* request sense command (button) */
|
||||
OPT_REL_UNIT, /* release unit command (button) */
|
||||
NUM_OPTS /* dummy (gives number of options) */
|
||||
OPT_SCSI_CMDS, /* a group */
|
||||
OPT_INQUIRY, /* inquiry command (button) */
|
||||
OPT_SELF_TEST, /* self test command (button) */
|
||||
OPT_REQ_SENSE, /* request sense command (button) */
|
||||
OPT_REL_UNIT, /* release unit command (button) */
|
||||
NUM_OPTS /* dummy (gives number of options) */
|
||||
} SnapScan_Options;
|
||||
|
||||
typedef union
|
||||
|
|
@ -255,17 +255,18 @@ Option_Value;
|
|||
|
||||
typedef enum
|
||||
{
|
||||
MD_COLOUR = 0, /* full colour */
|
||||
MD_COLOUR = 0, /* full colour */
|
||||
MD_BILEVELCOLOUR, /* 1-bit per channel colour */
|
||||
MD_GREYSCALE, /* grey scale */
|
||||
MD_LINEART, /* black and white */
|
||||
MD_LINEART, /* black and white */
|
||||
MD_NUM_MODES
|
||||
} SnapScan_Mode;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
SRC_FLATBED = 0, /* Flatbed (normal) */
|
||||
SRC_TPO /* Transparency unit */
|
||||
SRC_TPO, /* Transparency unit */
|
||||
SRC_ADF
|
||||
} SnapScan_Source;
|
||||
|
||||
typedef enum
|
||||
|
|
@ -366,8 +367,8 @@ struct snapscan_scanner
|
|||
|
||||
/*
|
||||
* $Log$
|
||||
* Revision 1.13 2002/03/24 12:32:38 oliverschwartz
|
||||
* Snapscan backend version 1.4.9
|
||||
* Revision 1.14 2002/04/23 22:37:54 oliverschwartz
|
||||
* SnapScan backend version 1.4.11
|
||||
*
|
||||
* Revision 1.29 2002/03/24 12:14:34 oliverschwartz
|
||||
* Add Snapcan_Driver_desc
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue