pixma_mp150.c: new generation 5 for scanners without special image format @ high dpi

merge-requests/1/head
Rolf Bensch 2017-07-10 23:06:29 +02:00
rodzic 890aa30a7c
commit 49ae62618c
1 zmienionych plików z 18 dodań i 21 usunięć

Wyświetl plik

@ -1158,28 +1158,22 @@ post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib)
mp->shift, mp->stripe_shift); mp->shift, mp->stripe_shift);
/* special image format for *most* devices at high dpi. /* special image format for *most* devices at high dpi.
* MP220, MX360, MX370, MX890, MG5300 are exceptions */ * MP220, MX360 and generation 5 scanners are exceptions */
if (n > 0 if (n > 0
&& s->cfg->pid != MP220_PID && s->cfg->pid != MP220_PID
&& s->cfg->pid != MX360_PID && s->cfg->pid != MX360_PID
&& s->cfg->pid != MX370_PID && (mp->generation < 5
&& s->cfg->pid != MX530_PID /* generation 5 scanners *with* special image format */
&& s->cfg->pid != MX890_PID || s->cfg->pid == MG2200_PID
&& s->cfg->pid != MX720_PID || s->cfg->pid == MG3200_PID
&& s->cfg->pid != MX920_PID || s->cfg->pid == MG4200_PID
&& s->cfg->pid != MG3100_PID || s->cfg->pid == MG5600_PID
&& s->cfg->pid != MG3500_PID || s->cfg->pid == MG5700_PID
&& s->cfg->pid != MG3600_PID || s->cfg->pid == MG6200_PID
&& s->cfg->pid != MG2100_PID || s->cfg->pid == MP230_PID
&& s->cfg->pid != MG5300_PID || s->cfg->pid == MX470_PID
&& s->cfg->pid != MG5400_PID || s->cfg->pid == MX510_PID
&& s->cfg->pid != MG5500_PID || s->cfg->pid == MX520_PID))
&& s->cfg->pid != MG6300_PID
&& s->cfg->pid != MG6400_PID
&& s->cfg->pid != MG7100_PID
&& s->cfg->pid != MG7500_PID
&& s->cfg->pid != MG7700_PID
&& s->cfg->pid != MB5000_PID)
reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size); reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size);
/* Crop line to selected borders */ /* Crop line to selected borders */
@ -1237,6 +1231,9 @@ mp150_open (pixma_t * s)
if (s->cfg->pid >= MP250_PID) if (s->cfg->pid >= MP250_PID)
mp->generation = 4; mp->generation = 4;
if (s->cfg->pid >= MG2100_PID) /* this scanners generation doesn't need */
mp->generation = 5; /* special image conversion @ high dpi */
/* And exceptions to be added here */ /* And exceptions to be added here */
if (s->cfg->pid == MP140_PID) if (s->cfg->pid == MP140_PID)
mp->generation = 2; mp->generation = 2;
@ -1383,7 +1380,7 @@ mp150_scan (pixma_t * s)
/* Generation 4: send XML dialog */ /* Generation 4: send XML dialog */
/* adf: first page or idle */ /* adf: first page or idle */
if (mp->generation == 4 && mp->adf_state == state_idle) if (mp->generation >= 4 && mp->adf_state == state_idle)
{ {
if (!send_xml_dialog (s, XML_START_1)) if (!send_xml_dialog (s, XML_START_1))
return PIXMA_EPROTO; return PIXMA_EPROTO;
@ -1425,7 +1422,7 @@ mp150_scan (pixma_t * s)
/* Generation 4: send XML dialog */ /* Generation 4: send XML dialog */
/* adf: first page or idle */ /* adf: first page or idle */
if (mp->generation == 4 && mp->adf_state == state_idle) if (mp->generation >= 4 && mp->adf_state == state_idle)
{ {
if (!send_xml_dialog (s, XML_END)) if (!send_xml_dialog (s, XML_END))
return PIXMA_EPROTO; return PIXMA_EPROTO;