| Index: third_party/libpng/pngwrite.c
|
| ===================================================================
|
| --- third_party/libpng/pngwrite.c (revision 18910)
|
| +++ third_party/libpng/pngwrite.c (working copy)
|
| @@ -1,14 +1,14 @@
|
|
|
| /* pngwrite.c - general routines to write a PNG file
|
| *
|
| - * Last changed in libpng 1.2.34 [December 18, 2008]
|
| + * Last changed in libpng 1.2.37 [June 4, 2009]
|
| * For conditions of distribution and use, see copyright notice in png.h
|
| - * Copyright (c) 1998-2008 Glenn Randers-Pehrson
|
| + * Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
| * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
| * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
| */
|
|
|
| -/* get internal access to png.h */
|
| +/* Get internal access to png.h */
|
| #define PNG_INTERNAL
|
| #include "png.h"
|
| #ifdef PNG_WRITE_SUPPORTED
|
| @@ -30,7 +30,7 @@
|
| return;
|
| if (!(png_ptr->mode & PNG_WROTE_INFO_BEFORE_PLTE))
|
| {
|
| - png_write_sig(png_ptr); /* write PNG signature */
|
| + png_write_sig(png_ptr); /* Write PNG signature */
|
| #if defined(PNG_MNG_FEATURES_SUPPORTED)
|
| if ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)&&(png_ptr->mng_features_permitted))
|
| {
|
| @@ -38,7 +38,7 @@
|
| png_ptr->mng_features_permitted=0;
|
| }
|
| #endif
|
| - /* write IHDR information. */
|
| + /* Write IHDR information. */
|
| png_write_IHDR(png_ptr, info_ptr->width, info_ptr->height,
|
| info_ptr->bit_depth, info_ptr->color_type, info_ptr->compression_type,
|
| info_ptr->filter_type,
|
| @@ -47,8 +47,9 @@
|
| #else
|
| 0);
|
| #endif
|
| - /* the rest of these check to see if the valid field has the appropriate
|
| - flag set, and if it does, writes the chunk. */
|
| + /* The rest of these check to see if the valid field has the appropriate
|
| + * flag set, and if it does, writes the chunk.
|
| + */
|
| #if defined(PNG_WRITE_gAMA_SUPPORTED)
|
| if (info_ptr->valid & PNG_INFO_gAMA)
|
| {
|
| @@ -97,14 +98,14 @@
|
| #if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED)
|
| if (info_ptr->unknown_chunks_num)
|
| {
|
| - png_unknown_chunk *up;
|
| + png_unknown_chunk *up;
|
|
|
| - png_debug(5, "writing extra chunks");
|
| + png_debug(5, "writing extra chunks");
|
|
|
| - for (up = info_ptr->unknown_chunks;
|
| - up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
|
| - up++)
|
| - {
|
| + for (up = info_ptr->unknown_chunks;
|
| + up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
|
| + up++)
|
| + {
|
| int keep=png_handle_as_unknown(png_ptr, up->name);
|
| if (keep != PNG_HANDLE_CHUNK_NEVER &&
|
| up->location && !(up->location & PNG_HAVE_PLTE) &&
|
| @@ -116,7 +117,7 @@
|
| png_warning(png_ptr, "Writing zero-length unknown chunk");
|
| png_write_chunk(png_ptr, up->name, up->data, up->size);
|
| }
|
| - }
|
| + }
|
| }
|
| #endif
|
| png_ptr->mode |= PNG_WROTE_INFO_BEFORE_PLTE;
|
| @@ -145,20 +146,20 @@
|
|
|
| #if defined(PNG_WRITE_tRNS_SUPPORTED)
|
| if (info_ptr->valid & PNG_INFO_tRNS)
|
| + {
|
| +#if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED)
|
| + /* Invert the alpha channel (in tRNS) */
|
| + if ((png_ptr->transformations & PNG_INVERT_ALPHA) &&
|
| + info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
| {
|
| -#if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED)
|
| - /* invert the alpha channel (in tRNS) */
|
| - if ((png_ptr->transformations & PNG_INVERT_ALPHA) &&
|
| - info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
| - {
|
| - int j;
|
| - for (j=0; j<(int)info_ptr->num_trans; j++)
|
| - info_ptr->trans[j] = (png_byte)(255 - info_ptr->trans[j]);
|
| - }
|
| + int j;
|
| + for (j=0; j<(int)info_ptr->num_trans; j++)
|
| + info_ptr->trans[j] = (png_byte)(255 - info_ptr->trans[j]);
|
| + }
|
| #endif
|
| png_write_tRNS(png_ptr, info_ptr->trans, &(info_ptr->trans_values),
|
| info_ptr->num_trans, info_ptr->color_type);
|
| - }
|
| + }
|
| #endif
|
| #if defined(PNG_WRITE_bKGD_SUPPORTED)
|
| if (info_ptr->valid & PNG_INFO_bKGD)
|
| @@ -179,49 +180,56 @@
|
| info_ptr->pcal_X1, info_ptr->pcal_type, info_ptr->pcal_nparams,
|
| info_ptr->pcal_units, info_ptr->pcal_params);
|
| #endif
|
| +
|
| +#if defined(PNG_sCAL_SUPPORTED)
|
| + if (info_ptr->valid & PNG_INFO_sCAL)
|
| #if defined(PNG_WRITE_sCAL_SUPPORTED)
|
| - if (info_ptr->valid & PNG_INFO_sCAL)
|
| #if defined(PNG_FLOATING_POINT_SUPPORTED) && !defined(PNG_NO_STDIO)
|
| png_write_sCAL(png_ptr, (int)info_ptr->scal_unit,
|
| info_ptr->scal_pixel_width, info_ptr->scal_pixel_height);
|
| -#else
|
| +#else /* !FLOATING_POINT */
|
| #ifdef PNG_FIXED_POINT_SUPPORTED
|
| png_write_sCAL_s(png_ptr, (int)info_ptr->scal_unit,
|
| info_ptr->scal_s_width, info_ptr->scal_s_height);
|
| -#else
|
| +#endif /* FIXED_POINT */
|
| +#endif /* FLOATING_POINT */
|
| +#else /* !WRITE_sCAL */
|
| png_warning(png_ptr,
|
| "png_write_sCAL not supported; sCAL chunk not written.");
|
| -#endif
|
| -#endif
|
| -#endif
|
| +#endif /* WRITE_sCAL */
|
| +#endif /* sCAL */
|
| +
|
| #if defined(PNG_WRITE_pHYs_SUPPORTED)
|
| if (info_ptr->valid & PNG_INFO_pHYs)
|
| png_write_pHYs(png_ptr, info_ptr->x_pixels_per_unit,
|
| info_ptr->y_pixels_per_unit, info_ptr->phys_unit_type);
|
| -#endif
|
| +#endif /* pHYs */
|
| +
|
| #if defined(PNG_WRITE_tIME_SUPPORTED)
|
| if (info_ptr->valid & PNG_INFO_tIME)
|
| {
|
| png_write_tIME(png_ptr, &(info_ptr->mod_time));
|
| png_ptr->mode |= PNG_WROTE_tIME;
|
| }
|
| -#endif
|
| +#endif /* tIME */
|
| +
|
| #if defined(PNG_WRITE_sPLT_SUPPORTED)
|
| if (info_ptr->valid & PNG_INFO_sPLT)
|
| for (i = 0; i < (int)info_ptr->splt_palettes_num; i++)
|
| png_write_sPLT(png_ptr, info_ptr->splt_palettes + i);
|
| -#endif
|
| +#endif /* sPLT */
|
| +
|
| #if defined(PNG_WRITE_TEXT_SUPPORTED)
|
| /* Check to see if we need to write text chunks */
|
| for (i = 0; i < info_ptr->num_text; i++)
|
| {
|
| png_debug2(2, "Writing header text chunk %d, type %d", i,
|
| info_ptr->text[i].compression);
|
| - /* an internationalized chunk? */
|
| + /* An internationalized chunk? */
|
| if (info_ptr->text[i].compression > 0)
|
| {
|
| #if defined(PNG_WRITE_iTXt_SUPPORTED)
|
| - /* write international chunk */
|
| + /* Write international chunk */
|
| png_write_iTXt(png_ptr,
|
| info_ptr->text[i].compression,
|
| info_ptr->text[i].key,
|
| @@ -238,7 +246,7 @@
|
| else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_zTXt)
|
| {
|
| #if defined(PNG_WRITE_zTXt_SUPPORTED)
|
| - /* write compressed chunk */
|
| + /* Write compressed chunk */
|
| png_write_zTXt(png_ptr, info_ptr->text[i].key,
|
| info_ptr->text[i].text, 0,
|
| info_ptr->text[i].compression);
|
| @@ -251,18 +259,20 @@
|
| else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
|
| {
|
| #if defined(PNG_WRITE_tEXt_SUPPORTED)
|
| - /* write uncompressed chunk */
|
| + /* Write uncompressed chunk */
|
| png_write_tEXt(png_ptr, info_ptr->text[i].key,
|
| info_ptr->text[i].text,
|
| 0);
|
| + /* Mark this chunk as written */
|
| + info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
|
| #else
|
| + /* Can't get here */
|
| png_warning(png_ptr, "Unable to write uncompressed text");
|
| #endif
|
| - /* Mark this chunk as written */
|
| - info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
|
| }
|
| }
|
| -#endif
|
| +#endif /* tEXt */
|
| +
|
| #if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED)
|
| if (info_ptr->unknown_chunks_num)
|
| {
|
| @@ -302,29 +312,29 @@
|
| if (!(png_ptr->mode & PNG_HAVE_IDAT))
|
| png_error(png_ptr, "No IDATs written into file");
|
|
|
| - /* see if user wants us to write information chunks */
|
| + /* See if user wants us to write information chunks */
|
| if (info_ptr != NULL)
|
| {
|
| #if defined(PNG_WRITE_TEXT_SUPPORTED)
|
| - int i; /* local index variable */
|
| + int i; /* Local index variable */
|
| #endif
|
| #if defined(PNG_WRITE_tIME_SUPPORTED)
|
| - /* check to see if user has supplied a time chunk */
|
| + /* Check to see if user has supplied a time chunk */
|
| if ((info_ptr->valid & PNG_INFO_tIME) &&
|
| !(png_ptr->mode & PNG_WROTE_tIME))
|
| png_write_tIME(png_ptr, &(info_ptr->mod_time));
|
| #endif
|
| #if defined(PNG_WRITE_TEXT_SUPPORTED)
|
| - /* loop through comment chunks */
|
| + /* Loop through comment chunks */
|
| for (i = 0; i < info_ptr->num_text; i++)
|
| {
|
| png_debug2(2, "Writing trailer text chunk %d, type %d", i,
|
| info_ptr->text[i].compression);
|
| - /* an internationalized chunk? */
|
| + /* An internationalized chunk? */
|
| if (info_ptr->text[i].compression > 0)
|
| {
|
| #if defined(PNG_WRITE_iTXt_SUPPORTED)
|
| - /* write international chunk */
|
| + /* Write international chunk */
|
| png_write_iTXt(png_ptr,
|
| info_ptr->text[i].compression,
|
| info_ptr->text[i].key,
|
| @@ -340,7 +350,7 @@
|
| else if (info_ptr->text[i].compression >= PNG_TEXT_COMPRESSION_zTXt)
|
| {
|
| #if defined(PNG_WRITE_zTXt_SUPPORTED)
|
| - /* write compressed chunk */
|
| + /* Write compressed chunk */
|
| png_write_zTXt(png_ptr, info_ptr->text[i].key,
|
| info_ptr->text[i].text, 0,
|
| info_ptr->text[i].compression);
|
| @@ -353,7 +363,7 @@
|
| else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
|
| {
|
| #if defined(PNG_WRITE_tEXt_SUPPORTED)
|
| - /* write uncompressed chunk */
|
| + /* Write uncompressed chunk */
|
| png_write_tEXt(png_ptr, info_ptr->text[i].key,
|
| info_ptr->text[i].text, 0);
|
| #else
|
| @@ -391,7 +401,7 @@
|
|
|
| png_ptr->mode |= PNG_AFTER_IDAT;
|
|
|
| - /* write end of PNG file */
|
| + /* Write end of PNG file */
|
| png_write_IEND(png_ptr);
|
| /* This flush, added in libpng-1.0.8, removed from libpng-1.0.9beta03,
|
| * and restored again in libpng-1.2.30, may cause some applications that
|
| @@ -471,7 +481,7 @@
|
| if (png_ptr == NULL)
|
| return (NULL);
|
|
|
| - /* added at libpng-1.2.6 */
|
| + /* Added at libpng-1.2.6 */
|
| #ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
| png_ptr->user_width_max=PNG_USER_WIDTH_MAX;
|
| png_ptr->user_height_max=PNG_USER_HEIGHT_MAX;
|
| @@ -542,7 +552,7 @@
|
| }
|
| }
|
|
|
| - /* initialize zbuf - compression buffer */
|
| + /* Initialize zbuf - compression buffer */
|
| png_ptr->zbuf_size = PNG_ZBUF_SIZE;
|
| png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
|
| (png_uint_32)png_ptr->zbuf_size);
|
| @@ -636,7 +646,7 @@
|
| {
|
| png_structp png_ptr=*ptr_ptr;
|
| #ifdef PNG_SETJMP_SUPPORTED
|
| - jmp_buf tmp_jmp; /* to save current jump buffer */
|
| + jmp_buf tmp_jmp; /* To save current jump buffer */
|
| #endif
|
|
|
| int i = 0;
|
| @@ -662,7 +672,7 @@
|
| png_debug(1, "in png_write_init_3");
|
|
|
| #ifdef PNG_SETJMP_SUPPORTED
|
| - /* save jump buffer and error functions */
|
| + /* Save jump buffer and error functions */
|
| png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof(jmp_buf));
|
| #endif
|
|
|
| @@ -673,24 +683,24 @@
|
| *ptr_ptr = png_ptr;
|
| }
|
|
|
| - /* reset all variables to 0 */
|
| + /* Reset all variables to 0 */
|
| png_memset(png_ptr, 0, png_sizeof(png_struct));
|
|
|
| - /* added at libpng-1.2.6 */
|
| + /* Added at libpng-1.2.6 */
|
| #ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
| png_ptr->user_width_max=PNG_USER_WIDTH_MAX;
|
| png_ptr->user_height_max=PNG_USER_HEIGHT_MAX;
|
| #endif
|
|
|
| #ifdef PNG_SETJMP_SUPPORTED
|
| - /* restore jump buffer */
|
| + /* Restore jump buffer */
|
| png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof(jmp_buf));
|
| #endif
|
|
|
| png_set_write_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL,
|
| png_flush_ptr_NULL);
|
|
|
| - /* initialize zbuf - compression buffer */
|
| + /* Initialize zbuf - compression buffer */
|
| png_ptr->zbuf_size = PNG_ZBUF_SIZE;
|
| png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
|
| (png_uint_32)png_ptr->zbuf_size);
|
| @@ -710,15 +720,15 @@
|
| png_write_rows(png_structp png_ptr, png_bytepp row,
|
| png_uint_32 num_rows)
|
| {
|
| - png_uint_32 i; /* row counter */
|
| - png_bytepp rp; /* row pointer */
|
| + png_uint_32 i; /* Row counter */
|
| + png_bytepp rp; /* Row pointer */
|
|
|
| png_debug(1, "in png_write_rows");
|
|
|
| if (png_ptr == NULL)
|
| return;
|
|
|
| - /* loop through the rows */
|
| + /* Loop through the rows */
|
| for (i = 0, rp = row; i < num_rows; i++, rp++)
|
| {
|
| png_write_row(png_ptr, *rp);
|
| @@ -731,25 +741,26 @@
|
| void PNGAPI
|
| png_write_image(png_structp png_ptr, png_bytepp image)
|
| {
|
| - png_uint_32 i; /* row index */
|
| - int pass, num_pass; /* pass variables */
|
| - png_bytepp rp; /* points to current row */
|
| + png_uint_32 i; /* Row index */
|
| + int pass, num_pass; /* Pass variables */
|
| + png_bytepp rp; /* Points to current row */
|
|
|
| if (png_ptr == NULL)
|
| return;
|
|
|
| png_debug(1, "in png_write_image");
|
| #if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
| - /* intialize interlace handling. If image is not interlaced,
|
| - this will set pass to 1 */
|
| + /* Initialize interlace handling. If image is not interlaced,
|
| + * this will set pass to 1
|
| + */
|
| num_pass = png_set_interlace_handling(png_ptr);
|
| #else
|
| num_pass = 1;
|
| #endif
|
| - /* loop through passes */
|
| + /* Loop through passes */
|
| for (pass = 0; pass < num_pass; pass++)
|
| {
|
| - /* loop through image */
|
| + /* Loop through image */
|
| for (i = 0, rp = image; i < png_ptr->height; i++, rp++)
|
| {
|
| png_write_row(png_ptr, *rp);
|
| @@ -757,7 +768,7 @@
|
| }
|
| }
|
|
|
| -/* called by user to write a row of image data */
|
| +/* Called by user to write a row of image data */
|
| void PNGAPI
|
| png_write_row(png_structp png_ptr, png_bytep row)
|
| {
|
| @@ -766,49 +777,49 @@
|
| png_debug2(1, "in png_write_row (row %ld, pass %d)",
|
| png_ptr->row_number, png_ptr->pass);
|
|
|
| - /* initialize transformations and other stuff if first time */
|
| + /* Initialize transformations and other stuff if first time */
|
| if (png_ptr->row_number == 0 && png_ptr->pass == 0)
|
| {
|
| - /* make sure we wrote the header info */
|
| - if (!(png_ptr->mode & PNG_WROTE_INFO_BEFORE_PLTE))
|
| - png_error(png_ptr,
|
| - "png_write_info was never called before png_write_row.");
|
| + /* Make sure we wrote the header info */
|
| + if (!(png_ptr->mode & PNG_WROTE_INFO_BEFORE_PLTE))
|
| + png_error(png_ptr,
|
| + "png_write_info was never called before png_write_row.");
|
|
|
| - /* check for transforms that have been set but were defined out */
|
| + /* Check for transforms that have been set but were defined out */
|
| #if !defined(PNG_WRITE_INVERT_SUPPORTED) && defined(PNG_READ_INVERT_SUPPORTED)
|
| - if (png_ptr->transformations & PNG_INVERT_MONO)
|
| - png_warning(png_ptr, "PNG_WRITE_INVERT_SUPPORTED is not defined.");
|
| + if (png_ptr->transformations & PNG_INVERT_MONO)
|
| + png_warning(png_ptr, "PNG_WRITE_INVERT_SUPPORTED is not defined.");
|
| #endif
|
| #if !defined(PNG_WRITE_FILLER_SUPPORTED) && defined(PNG_READ_FILLER_SUPPORTED)
|
| - if (png_ptr->transformations & PNG_FILLER)
|
| - png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined.");
|
| + if (png_ptr->transformations & PNG_FILLER)
|
| + png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined.");
|
| #endif
|
| #if !defined(PNG_WRITE_PACKSWAP_SUPPORTED) && defined(PNG_READ_PACKSWAP_SUPPORTED)
|
| - if (png_ptr->transformations & PNG_PACKSWAP)
|
| - png_warning(png_ptr, "PNG_WRITE_PACKSWAP_SUPPORTED is not defined.");
|
| + if (png_ptr->transformations & PNG_PACKSWAP)
|
| + png_warning(png_ptr, "PNG_WRITE_PACKSWAP_SUPPORTED is not defined.");
|
| #endif
|
| #if !defined(PNG_WRITE_PACK_SUPPORTED) && defined(PNG_READ_PACK_SUPPORTED)
|
| - if (png_ptr->transformations & PNG_PACK)
|
| - png_warning(png_ptr, "PNG_WRITE_PACK_SUPPORTED is not defined.");
|
| + if (png_ptr->transformations & PNG_PACK)
|
| + png_warning(png_ptr, "PNG_WRITE_PACK_SUPPORTED is not defined.");
|
| #endif
|
| #if !defined(PNG_WRITE_SHIFT_SUPPORTED) && defined(PNG_READ_SHIFT_SUPPORTED)
|
| - if (png_ptr->transformations & PNG_SHIFT)
|
| - png_warning(png_ptr, "PNG_WRITE_SHIFT_SUPPORTED is not defined.");
|
| + if (png_ptr->transformations & PNG_SHIFT)
|
| + png_warning(png_ptr, "PNG_WRITE_SHIFT_SUPPORTED is not defined.");
|
| #endif
|
| #if !defined(PNG_WRITE_BGR_SUPPORTED) && defined(PNG_READ_BGR_SUPPORTED)
|
| - if (png_ptr->transformations & PNG_BGR)
|
| - png_warning(png_ptr, "PNG_WRITE_BGR_SUPPORTED is not defined.");
|
| + if (png_ptr->transformations & PNG_BGR)
|
| + png_warning(png_ptr, "PNG_WRITE_BGR_SUPPORTED is not defined.");
|
| #endif
|
| #if !defined(PNG_WRITE_SWAP_SUPPORTED) && defined(PNG_READ_SWAP_SUPPORTED)
|
| - if (png_ptr->transformations & PNG_SWAP_BYTES)
|
| - png_warning(png_ptr, "PNG_WRITE_SWAP_SUPPORTED is not defined.");
|
| + if (png_ptr->transformations & PNG_SWAP_BYTES)
|
| + png_warning(png_ptr, "PNG_WRITE_SWAP_SUPPORTED is not defined.");
|
| #endif
|
|
|
| png_write_start_row(png_ptr);
|
| }
|
|
|
| #if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
| - /* if interlaced and not interested in row, return */
|
| + /* If interlaced and not interested in row, return */
|
| if (png_ptr->interlaced && (png_ptr->transformations & PNG_INTERLACE))
|
| {
|
| switch (png_ptr->pass)
|
| @@ -866,7 +877,7 @@
|
| }
|
| #endif
|
|
|
| - /* set up row info for transformations */
|
| + /* Set up row info for transformations */
|
| png_ptr->row_info.color_type = png_ptr->color_type;
|
| png_ptr->row_info.width = png_ptr->usr_width;
|
| png_ptr->row_info.channels = png_ptr->usr_channels;
|
| @@ -889,13 +900,13 @@
|
| png_ptr->row_info.rowbytes);
|
|
|
| #if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
| - /* handle interlacing */
|
| + /* Handle interlacing */
|
| if (png_ptr->interlaced && png_ptr->pass < 6 &&
|
| (png_ptr->transformations & PNG_INTERLACE))
|
| {
|
| png_do_write_interlace(&(png_ptr->row_info),
|
| png_ptr->row_buf + 1, png_ptr->pass);
|
| - /* this should always get caught above, but still ... */
|
| + /* This should always get caught above, but still ... */
|
| if (!(png_ptr->row_info.width))
|
| {
|
| png_write_finish_row(png_ptr);
|
| @@ -904,7 +915,7 @@
|
| }
|
| #endif
|
|
|
| - /* handle other transformations */
|
| + /* Handle other transformations */
|
| if (png_ptr->transformations)
|
| png_do_write_transformations(png_ptr);
|
|
|
| @@ -944,7 +955,7 @@
|
| png_ptr->flush_dist = (nrows < 0 ? 0 : nrows);
|
| }
|
|
|
| -/* flush the current output buffers now */
|
| +/* Flush the current output buffers now */
|
| void PNGAPI
|
| png_write_flush(png_structp png_ptr)
|
| {
|
| @@ -955,17 +966,17 @@
|
| return;
|
| /* We have already written out all of the data */
|
| if (png_ptr->row_number >= png_ptr->num_rows)
|
| - return;
|
| + return;
|
|
|
| do
|
| {
|
| int ret;
|
|
|
| - /* compress the data */
|
| + /* Compress the data */
|
| ret = deflate(&png_ptr->zstream, Z_SYNC_FLUSH);
|
| wrote_IDAT = 0;
|
|
|
| - /* check for compression errors */
|
| + /* Check for compression errors */
|
| if (ret != Z_OK)
|
| {
|
| if (png_ptr->zstream.msg != NULL)
|
| @@ -976,7 +987,7 @@
|
|
|
| if (!(png_ptr->zstream.avail_out))
|
| {
|
| - /* write the IDAT and reset the zlib output buffer */
|
| + /* Write the IDAT and reset the zlib output buffer */
|
| png_write_IDAT(png_ptr, png_ptr->zbuf,
|
| png_ptr->zbuf_size);
|
| png_ptr->zstream.next_out = png_ptr->zbuf;
|
| @@ -988,7 +999,7 @@
|
| /* If there is any data left to be output, write it into a new IDAT */
|
| if (png_ptr->zbuf_size != png_ptr->zstream.avail_out)
|
| {
|
| - /* write the IDAT and reset the zlib output buffer */
|
| + /* Write the IDAT and reset the zlib output buffer */
|
| png_write_IDAT(png_ptr, png_ptr->zbuf,
|
| png_ptr->zbuf_size - png_ptr->zstream.avail_out);
|
| png_ptr->zstream.next_out = png_ptr->zbuf;
|
| @@ -999,7 +1010,7 @@
|
| }
|
| #endif /* PNG_WRITE_FLUSH_SUPPORTED */
|
|
|
| -/* free all memory used by the write */
|
| +/* Free all memory used by the write */
|
| void PNGAPI
|
| png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)
|
| {
|
| @@ -1075,7 +1086,7 @@
|
| png_write_destroy(png_structp png_ptr)
|
| {
|
| #ifdef PNG_SETJMP_SUPPORTED
|
| - jmp_buf tmp_jmp; /* save jump buffer */
|
| + jmp_buf tmp_jmp; /* Save jump buffer */
|
| #endif
|
| png_error_ptr error_fn;
|
| png_error_ptr warning_fn;
|
| @@ -1085,10 +1096,10 @@
|
| #endif
|
|
|
| png_debug(1, "in png_write_destroy");
|
| - /* free any memory zlib uses */
|
| + /* Free any memory zlib uses */
|
| deflateEnd(&png_ptr->zstream);
|
|
|
| - /* free our memory. png_free checks NULL for us. */
|
| + /* Free our memory. png_free checks NULL for us. */
|
| png_free(png_ptr, png_ptr->zbuf);
|
| png_free(png_ptr, png_ptr->row_buf);
|
| #ifndef PNG_NO_WRITE_FILTER
|
| @@ -1112,7 +1123,7 @@
|
| #endif
|
|
|
| #ifdef PNG_SETJMP_SUPPORTED
|
| - /* reset structure */
|
| + /* Reset structure */
|
| png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof(jmp_buf));
|
| #endif
|
|
|
| @@ -1415,7 +1426,7 @@
|
| else if (window_bits < 8)
|
| png_warning(png_ptr, "Only compression windows >= 256 supported by PNG");
|
| #ifndef WBITS_8_OK
|
| - /* avoid libpng bug with 256-byte windows */
|
| + /* Avoid libpng bug with 256-byte windows */
|
| if (window_bits == 8)
|
| {
|
| png_warning(png_ptr, "Compression window is being reset to 512");
|
| @@ -1468,9 +1479,9 @@
|
| if (png_ptr == NULL || info_ptr == NULL)
|
| return;
|
| #if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED)
|
| - /* invert the alpha channel from opacity to transparency */
|
| + /* Invert the alpha channel from opacity to transparency */
|
| if (transforms & PNG_TRANSFORM_INVERT_ALPHA)
|
| - png_set_invert_alpha(png_ptr);
|
| + png_set_invert_alpha(png_ptr);
|
| #endif
|
|
|
| /* Write the file header information. */
|
| @@ -1479,9 +1490,9 @@
|
| /* ------ these transformations don't touch the info structure ------- */
|
|
|
| #if defined(PNG_WRITE_INVERT_SUPPORTED)
|
| - /* invert monochrome pixels */
|
| + /* Invert monochrome pixels */
|
| if (transforms & PNG_TRANSFORM_INVERT_MONO)
|
| - png_set_invert_mono(png_ptr);
|
| + png_set_invert_mono(png_ptr);
|
| #endif
|
|
|
| #if defined(PNG_WRITE_SHIFT_SUPPORTED)
|
| @@ -1490,57 +1501,57 @@
|
| */
|
| if ((transforms & PNG_TRANSFORM_SHIFT)
|
| && (info_ptr->valid & PNG_INFO_sBIT))
|
| - png_set_shift(png_ptr, &info_ptr->sig_bit);
|
| + png_set_shift(png_ptr, &info_ptr->sig_bit);
|
| #endif
|
|
|
| #if defined(PNG_WRITE_PACK_SUPPORTED)
|
| - /* pack pixels into bytes */
|
| + /* Pack pixels into bytes */
|
| if (transforms & PNG_TRANSFORM_PACKING)
|
| png_set_packing(png_ptr);
|
| #endif
|
|
|
| #if defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED)
|
| - /* swap location of alpha bytes from ARGB to RGBA */
|
| + /* Swap location of alpha bytes from ARGB to RGBA */
|
| if (transforms & PNG_TRANSFORM_SWAP_ALPHA)
|
| - png_set_swap_alpha(png_ptr);
|
| + png_set_swap_alpha(png_ptr);
|
| #endif
|
|
|
| #if defined(PNG_WRITE_FILLER_SUPPORTED)
|
| /* Pack XRGB/RGBX/ARGB/RGBA into * RGB (4 channels -> 3 channels) */
|
| - if (transforms & PNG_TRANSFORM_STRIP_FILLER_AFTER)
|
| + if (transforms & PNG_TRANSFORM_STRIP_FILLER_AFTER)
|
| png_set_filler(png_ptr, 0, PNG_FILLER_AFTER);
|
| - else if (transforms & PNG_TRANSFORM_STRIP_FILLER_BEFORE)
|
| + else if (transforms & PNG_TRANSFORM_STRIP_FILLER_BEFORE)
|
| png_set_filler(png_ptr, 0, PNG_FILLER_BEFORE);
|
| #endif
|
|
|
| #if defined(PNG_WRITE_BGR_SUPPORTED)
|
| - /* flip BGR pixels to RGB */
|
| + /* Flip BGR pixels to RGB */
|
| if (transforms & PNG_TRANSFORM_BGR)
|
| - png_set_bgr(png_ptr);
|
| + png_set_bgr(png_ptr);
|
| #endif
|
|
|
| #if defined(PNG_WRITE_SWAP_SUPPORTED)
|
| - /* swap bytes of 16-bit files to most significant byte first */
|
| + /* Swap bytes of 16-bit files to most significant byte first */
|
| if (transforms & PNG_TRANSFORM_SWAP_ENDIAN)
|
| - png_set_swap(png_ptr);
|
| + png_set_swap(png_ptr);
|
| #endif
|
|
|
| #if defined(PNG_WRITE_PACKSWAP_SUPPORTED)
|
| - /* swap bits of 1, 2, 4 bit packed pixel formats */
|
| + /* Swap bits of 1, 2, 4 bit packed pixel formats */
|
| if (transforms & PNG_TRANSFORM_PACKSWAP)
|
| - png_set_packswap(png_ptr);
|
| + png_set_packswap(png_ptr);
|
| #endif
|
|
|
| /* ----------------------- end of transformations ------------------- */
|
|
|
| - /* write the bits */
|
| + /* Write the bits */
|
| if (info_ptr->valid & PNG_INFO_IDAT)
|
| png_write_image(png_ptr, info_ptr->row_pointers);
|
|
|
| /* It is REQUIRED to call this to finish writing the rest of the file */
|
| png_write_end(png_ptr, info_ptr);
|
|
|
| - transforms = transforms; /* quiet compiler warnings */
|
| + transforms = transforms; /* Quiet compiler warnings */
|
| params = params;
|
| }
|
| #endif
|
|
|