test pdfload in te new desc tester
and fix a couple of small issues
This commit is contained in:
parent
09b4ce6d9b
commit
3f1eb2c7dd
@ -185,7 +185,8 @@ vips_foreign_load_pdf_get_flags( VipsForeignLoad *load )
|
|||||||
static int
|
static int
|
||||||
vips_foreign_load_pdf_get_page( VipsForeignLoadPdf *pdf, int page_no )
|
vips_foreign_load_pdf_get_page( VipsForeignLoadPdf *pdf, int page_no )
|
||||||
{
|
{
|
||||||
if( pdf->current_page != page_no ) {
|
if( pdf->current_page != page_no ||
|
||||||
|
!pdf->page ) {
|
||||||
VipsObjectClass *class = VIPS_OBJECT_GET_CLASS( pdf );
|
VipsObjectClass *class = VIPS_OBJECT_GET_CLASS( pdf );
|
||||||
|
|
||||||
VIPS_UNREF( pdf->page );
|
VIPS_UNREF( pdf->page );
|
||||||
@ -356,24 +357,20 @@ vips_foreign_load_pdf_header( VipsForeignLoad *load )
|
|||||||
VIPS_AREA( pdf->background )->n )) )
|
VIPS_AREA( pdf->background )->n )) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
|
pdf_class->close( pdf );
|
||||||
|
|
||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_foreign_load_pdf_minimise( VipsObject *object, VipsForeignLoadPdf *pdf )
|
vips_foreign_load_pdf_minimise( VipsObject *object, VipsForeignLoadPdf *pdf )
|
||||||
{
|
{
|
||||||
|
VipsForeignLoadPdfClass *class = VIPS_FOREIGN_LOAD_PDF_GET_CLASS( pdf );
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf( "vips_foreign_load_pdf_minimise: %p\n", pdf );
|
printf( "vips_foreign_load_pdf_minimise: %p\n", pdf );
|
||||||
#endif /*DEBUG*/
|
#endif /*DEBUG*/
|
||||||
|
|
||||||
/* In seq mode, we can shut down the input at the end of computation.
|
class->close( pdf );
|
||||||
*/
|
|
||||||
if( VIPS_FOREIGN_LOAD( pdf )->access == VIPS_ACCESS_SEQUENTIAL ) {
|
|
||||||
VipsForeignLoadPdfClass *class =
|
|
||||||
VIPS_FOREIGN_LOAD_PDF_GET_CLASS( pdf );
|
|
||||||
|
|
||||||
class->close( pdf );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -459,6 +456,7 @@ static int
|
|||||||
vips_foreign_load_pdf_load( VipsForeignLoad *load )
|
vips_foreign_load_pdf_load( VipsForeignLoad *load )
|
||||||
{
|
{
|
||||||
VipsForeignLoadPdf *pdf = VIPS_FOREIGN_LOAD_PDF( load );
|
VipsForeignLoadPdf *pdf = VIPS_FOREIGN_LOAD_PDF( load );
|
||||||
|
VipsForeignLoadPdfClass *class = VIPS_FOREIGN_LOAD_PDF_GET_CLASS( pdf );
|
||||||
VipsImage **t = (VipsImage **)
|
VipsImage **t = (VipsImage **)
|
||||||
vips_object_local_array( (VipsObject *) load, 2 );
|
vips_object_local_array( (VipsObject *) load, 2 );
|
||||||
|
|
||||||
@ -466,6 +464,9 @@ vips_foreign_load_pdf_load( VipsForeignLoad *load )
|
|||||||
printf( "vips_foreign_load_pdf_load: %p\n", pdf );
|
printf( "vips_foreign_load_pdf_load: %p\n", pdf );
|
||||||
#endif /*DEBUG*/
|
#endif /*DEBUG*/
|
||||||
|
|
||||||
|
if( class->open( pdf ) )
|
||||||
|
return( -1 );
|
||||||
|
|
||||||
/* Read to this image, then cache to out, see below.
|
/* Read to this image, then cache to out, see below.
|
||||||
*/
|
*/
|
||||||
t[0] = vips_image_new();
|
t[0] = vips_image_new();
|
||||||
|
@ -19,3 +19,7 @@ fi
|
|||||||
if test_supported gifload; then
|
if test_supported gifload; then
|
||||||
./test_descriptors $test_images/cogs.gif
|
./test_descriptors $test_images/cogs.gif
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test_supported pdfload; then
|
||||||
|
./test_descriptors $test_images/ISO_12233-reschart.pdf
|
||||||
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user