new capability PIXMA_CAP_TPUIR

new scan mode PIXMA_SCAN_MODE_TPUIR
merge-requests/1/head
Rolf Bensch 2013-02-18 17:37:30 +01:00
rodzic bb3806313d
commit f254809c0b
2 zmienionych plików z 20 dodań i 4 usunięć

Wyświetl plik

@ -384,6 +384,12 @@ create_mode_list (pixma_sane_t * ss)
i++; i++;
} }
} }
if (tpu && (cfg->cap & PIXMA_CAP_TPUIR))
{
ss->mode_list[i] = SANE_I18N ("Infrared");
ss->mode_map[i] = PIXMA_SCAN_MODE_TPUIR;
i++;
}
if (!tpu && (cfg->cap & PIXMA_CAP_48BIT)) if (!tpu && (cfg->cap & PIXMA_CAP_48BIT))
{ {
ss->mode_list[i] = SANE_I18N ("48 bits color"); ss->mode_list[i] = SANE_I18N ("48 bits color");
@ -424,8 +430,15 @@ create_dpi_list (pixma_sane_t * ss)
max_dpi = cfg->xdpi; max_dpi = cfg->xdpi;
min_dpi = 75; min_dpi = 75;
if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU
|| ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADF && ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_TPUIR)
|| ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADFDUP) { /* IR mode */
/*PDBG (pixma_dbg (4, "*create_dpi_list***** TPUIR mode\n"));*/
min_dpi = (cfg->tpuir_min_dpi) ? cfg->tpuir_min_dpi : 75;
max_dpi = (cfg->tpuir_max_dpi) ? cfg->tpuir_max_dpi : cfg->xdpi;
}
else if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU
|| ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADF
|| ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADFDUP)
{ /* ADF / TPU mode */ { /* ADF / TPU mode */
/*PDBG (pixma_dbg (4, "*create_dpi_list***** ADF/TPU mode\n"));*/ /*PDBG (pixma_dbg (4, "*create_dpi_list***** ADF/TPU mode\n"));*/
min_dpi = (cfg->adftpu_min_dpi) ? cfg->adftpu_min_dpi : 75; min_dpi = (cfg->adftpu_min_dpi) ? cfg->adftpu_min_dpi : 75;
@ -722,7 +735,7 @@ control_option (pixma_sane_t * ss, SANE_Int n,
} }
break; break;
case opt_mode: case opt_mode:
if (cfg->cap & (PIXMA_CAP_48BIT|PIXMA_CAP_LINEART) if (cfg->cap & (PIXMA_CAP_48BIT|PIXMA_CAP_LINEART|PIXMA_CAP_TPUIR)
&& (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO)) && (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO))
{ /* new mode selected: Color, Gray, ... */ { /* new mode selected: Color, Gray, ... */
/* PDBG (pixma_dbg (4, "*control_option***** mode = %u *\n", /* PDBG (pixma_dbg (4, "*control_option***** mode = %u *\n",

Wyświetl plik

@ -149,6 +149,7 @@ typedef uint32_t uint32_t;
#define PIXMA_CAP_CCD (1 << 8) #define PIXMA_CAP_CCD (1 << 8)
#define PIXMA_CAP_LINEART (1 << 9) #define PIXMA_CAP_LINEART (1 << 9)
#define PIXMA_CAP_NEGATIVE (1 << 10) #define PIXMA_CAP_NEGATIVE (1 << 10)
#define PIXMA_CAP_TPUIR ((1 << 11) | PIXMA_CAP_TPU)
#define PIXMA_CAP_EXPERIMENT (1 << 31) #define PIXMA_CAP_EXPERIMENT (1 << 31)
/**@}*/ /**@}*/
@ -219,7 +220,9 @@ typedef enum pixma_scan_mode_t
PIXMA_SCAN_MODE_COLOR_48, PIXMA_SCAN_MODE_COLOR_48,
PIXMA_SCAN_MODE_GRAY_16, PIXMA_SCAN_MODE_GRAY_16,
/* 1 bit lineart scan mode */ /* 1 bit lineart scan mode */
PIXMA_SCAN_MODE_LINEART PIXMA_SCAN_MODE_LINEART,
/* TPUIR scan mode */
PIXMA_SCAN_MODE_TPUIR
} pixma_scan_mode_t; } pixma_scan_mode_t;
typedef enum pixma_hardware_status_t typedef enum pixma_hardware_status_t