Merge branch 'escl-fix-adf' into 'master'

Escl revert adf lineart

See merge request sane-project/backends!883
merge-requests/884/head
ThierryFR 2025-07-20 10:38:01 +00:00
commit 7f33a49d23
2 zmienionych plików z 37 dodań i 18 usunięć

Wyświetl plik

@ -201,8 +201,10 @@ find_valor_of_array_variables(xmlNode *node, capabilities_t *scanner, int type)
{ {
const char *name = (const char *)node->name; const char *name = (const char *)node->name;
if (strcmp(name, "ColorMode") == 0) { if (strcmp(name, "ColorMode") == 0) {
#ifndef HAVE_POPPLER_GLIB
const char *color = (SANE_String_Const)xmlNodeGetContent(node); const char *color = (SANE_String_Const)xmlNodeGetContent(node);
#if HAVE_POPPLER_GLIB
if (type == PLATEN || strcmp(color, "BlackAndWhite1"))
#else
if (strcmp(color, "BlackAndWhite1")) if (strcmp(color, "BlackAndWhite1"))
#endif #endif
scanner->caps[type].ColorModes = char_to_array(scanner->caps[type].ColorModes, &scanner->caps[type].ColorModesSize, (SANE_String_Const)xmlNodeGetContent(node), 1); scanner->caps[type].ColorModes = char_to_array(scanner->caps[type].ColorModes, &scanner->caps[type].ColorModesSize, (SANE_String_Const)xmlNodeGetContent(node), 1);
@ -232,15 +234,15 @@ find_valor_of_array_variables(xmlNode *node, capabilities_t *scanner, int type)
scanner->caps[type].have_png = i; scanner->caps[type].have_png = i;
} }
#endif #endif
#if(defined HAVE_LIBTIFF) #if(defined HAVE_TIFFIO_H)
else if(!strcmp(scanner->caps[type].DocumentFormats[i], "image/tiff")) else if(type == PLATEN && !strcmp(scanner->caps[type].DocumentFormats[i], "image/tiff"))
{ {
have_tiff = SANE_TRUE; have_tiff = SANE_TRUE;
scanner->caps[type].have_tiff = i; scanner->caps[type].have_tiff = i;
} }
#endif #endif
#if HAVE_POPPLER_GLIB #if HAVE_POPPLER_GLIB
else if(!strcmp(scanner->caps[type].DocumentFormats[i], "application/pdf")) else if(type == PLATEN && !strcmp(scanner->caps[type].DocumentFormats[i], "application/pdf"))
{ {
have_pdf = SANE_TRUE; have_pdf = SANE_TRUE;
scanner->caps[type].have_pdf = i; scanner->caps[type].have_pdf = i;

Wyświetl plik

@ -168,6 +168,22 @@ escl_newjob (capabilities_t *scanner, const ESCL_Device *device, SANE_Status *st
int have_tiff = scanner->caps[scanner->source].have_tiff; int have_tiff = scanner->caps[scanner->source].have_tiff;
int have_pdf = scanner->caps[scanner->source].have_pdf; int have_pdf = scanner->caps[scanner->source].have_pdf;
if ((scanner->source == PLATEN && have_pdf == -1) ||
(scanner->source > PLATEN)) {
if (have_tiff != -1) {
scanner->caps[scanner->source].default_format =
strdup(scanner->caps[scanner->source].DocumentFormats[have_tiff]);
}
else if (have_png != -1) {
scanner->caps[scanner->source].default_format =
strdup(scanner->caps[scanner->source].DocumentFormats[have_png]);
}
else if (have_jpeg != -1) {
scanner->caps[scanner->source].default_format =
strdup(scanner->caps[scanner->source].DocumentFormats[have_jpeg]);
}
}
else {
if (have_pdf != -1) { if (have_pdf != -1) {
scanner->caps[scanner->source].default_format = scanner->caps[scanner->source].default_format =
strdup(scanner->caps[scanner->source].DocumentFormats[have_pdf]); strdup(scanner->caps[scanner->source].DocumentFormats[have_pdf]);
@ -184,6 +200,7 @@ escl_newjob (capabilities_t *scanner, const ESCL_Device *device, SANE_Status *st
scanner->caps[scanner->source].default_format = scanner->caps[scanner->source].default_format =
strdup(scanner->caps[scanner->source].DocumentFormats[have_jpeg]); strdup(scanner->caps[scanner->source].DocumentFormats[have_jpeg]);
} }
}
if (atof ((const char *)device->version) <= 2.0) if (atof ((const char *)device->version) <= 2.0)
{ {
// For eSCL 2.0 and older clients // For eSCL 2.0 and older clients