diff options
author | jcid <devnull@localhost> | 2008-01-16 01:17:20 +0100 |
---|---|---|
committer | jcid <devnull@localhost> | 2008-01-16 01:17:20 +0100 |
commit | f09fce92f37ced2a53c96c09792906e2771f0e17 (patch) | |
tree | 6a2af7914d69e33a0ef7476e5334856e100457a7 /src/png.c | |
parent | 17e6f35cfbfa7a73e986fcd11617db12898d740f (diff) |
- Added support for progressive display of progressive jpegs.
- Fixed progressive display of interlaced pngs.
Diffstat (limited to 'src/png.c')
-rw-r--r-- | src/png.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -79,6 +79,7 @@ struct _DilloPng { uchar_t **row_pointers; /* pntr to row starts */ jmp_buf jmpbuf; /* png error processing */ int error; /* error flag */ + png_uint_32 previous_row; int rowbytes; /* No. bytes in image row */ short passes; short channels; /* No. image channels */ @@ -230,6 +231,11 @@ static void png_progressive_combine_row(png_ptr, png->row_pointers[row_num], new_row); + if (row_num < png->previous_row) { + a_Dicache_new_scan(png->Image, png->url, png->version); + } + png->previous_row = row_num; + switch (png->channels) { case 3: a_Dicache_write(png->Image, png->url, png->version, @@ -419,6 +425,7 @@ static DilloPng *Png_new(DilloImage *Image, DilloUrl *url, int version) png->linebuf = NULL; png->image_data = NULL; png->row_pointers = NULL; + png->previous_row = 0; return png; } |