[master] Reformatted some comments.
This commit is contained in:
parent
63da1df6fe
commit
0f714ca6bc
153
png.h
153
png.h
@ -1,6 +1,6 @@
|
|||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.2.38beta01 - June 12, 2009
|
* libpng version 1.2.38beta01 - June 16, 2009
|
||||||
* Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
@ -8,7 +8,7 @@
|
|||||||
* Authors and maintainers:
|
* Authors and maintainers:
|
||||||
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
||||||
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||||
* libpng versions 0.97, January 1998, through 1.2.38beta01 - June 12, 2009: Glenn
|
* libpng versions 0.97, January 1998, through 1.2.38beta01 - June 16, 2009: Glenn
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*
|
*
|
||||||
* Note about libpng version numbers:
|
* Note about libpng version numbers:
|
||||||
@ -260,7 +260,7 @@
|
|||||||
* If you modify libpng you may insert additional notices immediately following
|
* If you modify libpng you may insert additional notices immediately following
|
||||||
* this sentence.
|
* this sentence.
|
||||||
*
|
*
|
||||||
* libpng versions 1.2.6, August 15, 2004, through 1.2.38beta01, June 12, 2009, are
|
* libpng versions 1.2.6, August 15, 2004, through 1.2.38beta01, June 16, 2009, are
|
||||||
* Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are
|
* Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are
|
||||||
* distributed according to the same disclaimer and license as libpng-1.2.5
|
* distributed according to the same disclaimer and license as libpng-1.2.5
|
||||||
* with the following individual added to the list of Contributing Authors:
|
* with the following individual added to the list of Contributing Authors:
|
||||||
@ -372,7 +372,7 @@
|
|||||||
* Y2K compliance in libpng:
|
* Y2K compliance in libpng:
|
||||||
* =========================
|
* =========================
|
||||||
*
|
*
|
||||||
* June 12, 2009
|
* June 16, 2009
|
||||||
*
|
*
|
||||||
* Since the PNG Development group is an ad-hoc body, we can't make
|
* Since the PNG Development group is an ad-hoc body, we can't make
|
||||||
* an official declaration.
|
* an official declaration.
|
||||||
@ -436,7 +436,7 @@
|
|||||||
/* Version information for png.h - this should match the version in png.c */
|
/* Version information for png.h - this should match the version in png.c */
|
||||||
#define PNG_LIBPNG_VER_STRING "1.2.38beta01"
|
#define PNG_LIBPNG_VER_STRING "1.2.38beta01"
|
||||||
#define PNG_HEADER_VERSION_STRING \
|
#define PNG_HEADER_VERSION_STRING \
|
||||||
" libpng version 1.2.38beta01 - June 12, 2009\n"
|
" libpng version 1.2.38beta01 - June 16, 2009\n"
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_SONUM 0
|
#define PNG_LIBPNG_VER_SONUM 0
|
||||||
#define PNG_LIBPNG_VER_DLLNUM 13
|
#define PNG_LIBPNG_VER_DLLNUM 13
|
||||||
@ -446,7 +446,8 @@
|
|||||||
#define PNG_LIBPNG_VER_MINOR 2
|
#define PNG_LIBPNG_VER_MINOR 2
|
||||||
#define PNG_LIBPNG_VER_RELEASE 38
|
#define PNG_LIBPNG_VER_RELEASE 38
|
||||||
/* This should match the numeric part of the final component of
|
/* This should match the numeric part of the final component of
|
||||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
|
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
||||||
|
*/
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_BUILD 01
|
#define PNG_LIBPNG_VER_BUILD 01
|
||||||
|
|
||||||
@ -471,7 +472,8 @@
|
|||||||
* We must not include leading zeros.
|
* We must not include leading zeros.
|
||||||
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
|
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
|
||||||
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
||||||
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */
|
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
|
||||||
|
*/
|
||||||
#define PNG_LIBPNG_VER 10238 /* 1.2.38 */
|
#define PNG_LIBPNG_VER 10238 /* 1.2.38 */
|
||||||
|
|
||||||
#ifndef PNG_VERSION_INFO_ONLY
|
#ifndef PNG_VERSION_INFO_ONLY
|
||||||
@ -554,7 +556,7 @@ extern "C" {
|
|||||||
#define png_write_status_ptr_NULL NULL
|
#define png_write_status_ptr_NULL NULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
|
/* Variables declared in png.c - only it needs to define PNG_NO_EXTERN */
|
||||||
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
|
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
|
||||||
/* Version information for C files, stored in png.c. This had better match
|
/* Version information for C files, stored in png.c. This had better match
|
||||||
* the version above.
|
* the version above.
|
||||||
@ -680,7 +682,8 @@ typedef png_text FAR * FAR * png_textpp;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Supported compression types for text in PNG files (tEXt, and zTXt).
|
/* Supported compression types for text in PNG files (tEXt, and zTXt).
|
||||||
* The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed. */
|
* The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed.
|
||||||
|
*/
|
||||||
#define PNG_TEXT_COMPRESSION_NONE_WR -3
|
#define PNG_TEXT_COMPRESSION_NONE_WR -3
|
||||||
#define PNG_TEXT_COMPRESSION_zTXt_WR -2
|
#define PNG_TEXT_COMPRESSION_zTXt_WR -2
|
||||||
#define PNG_TEXT_COMPRESSION_NONE -1
|
#define PNG_TEXT_COMPRESSION_NONE -1
|
||||||
@ -943,7 +946,7 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||||
/* storage for unknown chunks that the library doesn't recognize. */
|
/* Storage for unknown chunks that the library doesn't recognize. */
|
||||||
png_unknown_chunkp unknown_chunks;
|
png_unknown_chunkp unknown_chunks;
|
||||||
png_size_t unknown_chunks_num;
|
png_size_t unknown_chunks_num;
|
||||||
#endif
|
#endif
|
||||||
@ -958,7 +961,7 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_sPLT_SUPPORTED)
|
#if defined(PNG_sPLT_SUPPORTED)
|
||||||
/* data on sPLT chunks (there may be more than one). */
|
/* Data on sPLT chunks (there may be more than one). */
|
||||||
png_sPLT_tp splt_palettes;
|
png_sPLT_tp splt_palettes;
|
||||||
png_uint_32 splt_palettes_num;
|
png_uint_32 splt_palettes_num;
|
||||||
#endif
|
#endif
|
||||||
@ -1480,7 +1483,7 @@ struct png_struct_def
|
|||||||
|
|
||||||
/* New member added in libpng-1.0.25 and 1.2.17 */
|
/* New member added in libpng-1.0.25 and 1.2.17 */
|
||||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||||
/* storage for unknown chunk that the library doesn't recognize. */
|
/* Storage for unknown chunk that the library doesn't recognize. */
|
||||||
png_unknown_chunk unknown_chunk;
|
png_unknown_chunk unknown_chunk;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1600,7 +1603,7 @@ extern PNG_EXPORT(void,png_write_info) PNGARG((png_structp png_ptr,
|
|||||||
png_infop info_ptr));
|
png_infop info_ptr));
|
||||||
|
|
||||||
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
||||||
/* read the information before the actual image data. */
|
/* Read the information before the actual image data. */
|
||||||
extern PNG_EXPORT(void,png_read_info) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_read_info) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr));
|
png_infop info_ptr));
|
||||||
#endif
|
#endif
|
||||||
@ -1613,11 +1616,11 @@ extern PNG_EXPORT(png_charp,png_convert_to_rfc1123)
|
|||||||
#if !defined(_WIN32_WCE)
|
#if !defined(_WIN32_WCE)
|
||||||
/* "time.h" functions are not supported on WindowsCE */
|
/* "time.h" functions are not supported on WindowsCE */
|
||||||
#if defined(PNG_WRITE_tIME_SUPPORTED)
|
#if defined(PNG_WRITE_tIME_SUPPORTED)
|
||||||
/* convert from a struct tm to png_time */
|
/* Convert from a struct tm to png_time */
|
||||||
extern PNG_EXPORT(void,png_convert_from_struct_tm) PNGARG((png_timep ptime,
|
extern PNG_EXPORT(void,png_convert_from_struct_tm) PNGARG((png_timep ptime,
|
||||||
struct tm FAR * ttime));
|
struct tm FAR * ttime));
|
||||||
|
|
||||||
/* convert from time_t to png_time. Uses gmtime() */
|
/* Convert from time_t to png_time. Uses gmtime() */
|
||||||
extern PNG_EXPORT(void,png_convert_from_time_t) PNGARG((png_timep ptime,
|
extern PNG_EXPORT(void,png_convert_from_time_t) PNGARG((png_timep ptime,
|
||||||
time_t ttime));
|
time_t ttime));
|
||||||
#endif /* PNG_WRITE_tIME_SUPPORTED */
|
#endif /* PNG_WRITE_tIME_SUPPORTED */
|
||||||
@ -1737,7 +1740,7 @@ extern PNG_EXPORT(void,png_set_background) PNGARG((png_structp png_ptr,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_READ_16_TO_8_SUPPORTED)
|
#if defined(PNG_READ_16_TO_8_SUPPORTED)
|
||||||
/* strip the second byte of information from a 16-bit depth file. */
|
/* Strip the second byte of information from a 16-bit depth file. */
|
||||||
extern PNG_EXPORT(void,png_set_strip_16) PNGARG((png_structp png_ptr));
|
extern PNG_EXPORT(void,png_set_strip_16) PNGARG((png_structp png_ptr));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1773,74 +1776,74 @@ extern PNG_EXPORT(void,png_set_flush) PNGARG((png_structp png_ptr, int nrows));
|
|||||||
extern PNG_EXPORT(void,png_write_flush) PNGARG((png_structp png_ptr));
|
extern PNG_EXPORT(void,png_write_flush) PNGARG((png_structp png_ptr));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* optional update palette with requested transformations */
|
/* Optional update palette with requested transformations */
|
||||||
extern PNG_EXPORT(void,png_start_read_image) PNGARG((png_structp png_ptr));
|
extern PNG_EXPORT(void,png_start_read_image) PNGARG((png_structp png_ptr));
|
||||||
|
|
||||||
/* optional call to update the users info structure */
|
/* Optional call to update the users info structure */
|
||||||
extern PNG_EXPORT(void,png_read_update_info) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_read_update_info) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr));
|
png_infop info_ptr));
|
||||||
|
|
||||||
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
||||||
/* read one or more rows of image data. */
|
/* Read one or more rows of image data. */
|
||||||
extern PNG_EXPORT(void,png_read_rows) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_read_rows) PNGARG((png_structp png_ptr,
|
||||||
png_bytepp row, png_bytepp display_row, png_uint_32 num_rows));
|
png_bytepp row, png_bytepp display_row, png_uint_32 num_rows));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
||||||
/* read a row of data. */
|
/* Read a row of data. */
|
||||||
extern PNG_EXPORT(void,png_read_row) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_read_row) PNGARG((png_structp png_ptr,
|
||||||
png_bytep row,
|
png_bytep row,
|
||||||
png_bytep display_row));
|
png_bytep display_row));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
||||||
/* read the whole image into memory at once. */
|
/* Read the whole image into memory at once. */
|
||||||
extern PNG_EXPORT(void,png_read_image) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_read_image) PNGARG((png_structp png_ptr,
|
||||||
png_bytepp image));
|
png_bytepp image));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* write a row of image data */
|
/* Write a row of image data */
|
||||||
extern PNG_EXPORT(void,png_write_row) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_write_row) PNGARG((png_structp png_ptr,
|
||||||
png_bytep row));
|
png_bytep row));
|
||||||
|
|
||||||
/* write a few rows of image data */
|
/* Write a few rows of image data */
|
||||||
extern PNG_EXPORT(void,png_write_rows) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_write_rows) PNGARG((png_structp png_ptr,
|
||||||
png_bytepp row, png_uint_32 num_rows));
|
png_bytepp row, png_uint_32 num_rows));
|
||||||
|
|
||||||
/* write the image data */
|
/* Write the image data */
|
||||||
extern PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr,
|
||||||
png_bytepp image));
|
png_bytepp image));
|
||||||
|
|
||||||
/* writes the end of the PNG file. */
|
/* Writes the end of the PNG file. */
|
||||||
extern PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr));
|
png_infop info_ptr));
|
||||||
|
|
||||||
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
|
||||||
/* read the end of the PNG file. */
|
/* Read the end of the PNG file. */
|
||||||
extern PNG_EXPORT(void,png_read_end) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_read_end) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr));
|
png_infop info_ptr));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* free any memory associated with the png_info_struct */
|
/* Free any memory associated with the png_info_struct */
|
||||||
extern PNG_EXPORT(void,png_destroy_info_struct) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_destroy_info_struct) PNGARG((png_structp png_ptr,
|
||||||
png_infopp info_ptr_ptr));
|
png_infopp info_ptr_ptr));
|
||||||
|
|
||||||
/* free any memory associated with the png_struct and the png_info_structs */
|
/* Free any memory associated with the png_struct and the png_info_structs */
|
||||||
extern PNG_EXPORT(void,png_destroy_read_struct) PNGARG((png_structpp
|
extern PNG_EXPORT(void,png_destroy_read_struct) PNGARG((png_structpp
|
||||||
png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr));
|
png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr));
|
||||||
|
|
||||||
/* free all memory used by the read (old method - NOT DLL EXPORTED) */
|
/* Free all memory used by the read (old method - NOT DLL EXPORTED) */
|
||||||
extern void png_read_destroy PNGARG((png_structp png_ptr, png_infop info_ptr,
|
extern void png_read_destroy PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||||
png_infop end_info_ptr));
|
png_infop end_info_ptr));
|
||||||
|
|
||||||
/* free any memory associated with the png_struct and the png_info_structs */
|
/* Free any memory associated with the png_struct and the png_info_structs */
|
||||||
extern PNG_EXPORT(void,png_destroy_write_struct)
|
extern PNG_EXPORT(void,png_destroy_write_struct)
|
||||||
PNGARG((png_structpp png_ptr_ptr, png_infopp info_ptr_ptr));
|
PNGARG((png_structpp png_ptr_ptr, png_infopp info_ptr_ptr));
|
||||||
|
|
||||||
/* free any memory used in png_ptr struct (old method - NOT DLL EXPORTED) */
|
/* Free any memory used in png_ptr struct (old method - NOT DLL EXPORTED) */
|
||||||
extern void png_write_destroy PNGARG((png_structp png_ptr));
|
extern void png_write_destroy PNGARG((png_structp png_ptr));
|
||||||
|
|
||||||
/* set the libpng method of handling chunk CRC errors */
|
/* Set the libpng method of handling chunk CRC errors */
|
||||||
extern PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr,
|
||||||
int crit_action, int ancil_action));
|
int crit_action, int ancil_action));
|
||||||
|
|
||||||
@ -1868,7 +1871,7 @@ extern PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr,
|
|||||||
* header file (zlib.h) for an explination of the compression functions.
|
* header file (zlib.h) for an explination of the compression functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* set the filtering method(s) used by libpng. Currently, the only valid
|
/* Set the filtering method(s) used by libpng. Currently, the only valid
|
||||||
* value for "method" is 0.
|
* value for "method" is 0.
|
||||||
*/
|
*/
|
||||||
extern PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method,
|
extern PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method,
|
||||||
@ -2065,11 +2068,11 @@ extern PNG_EXPORT(void,png_set_progressive_read_fn) PNGARG((png_structp png_ptr,
|
|||||||
png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,
|
png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,
|
||||||
png_progressive_end_ptr end_fn));
|
png_progressive_end_ptr end_fn));
|
||||||
|
|
||||||
/* returns the user pointer associated with the push read functions */
|
/* Returns the user pointer associated with the push read functions */
|
||||||
extern PNG_EXPORT(png_voidp,png_get_progressive_ptr)
|
extern PNG_EXPORT(png_voidp,png_get_progressive_ptr)
|
||||||
PNGARG((png_structp png_ptr));
|
PNGARG((png_structp png_ptr));
|
||||||
|
|
||||||
/* function to be called when data becomes available */
|
/* Function to be called when data becomes available */
|
||||||
extern PNG_EXPORT(void,png_process_data) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_process_data) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr, png_bytep buffer, png_size_t buffer_size));
|
png_infop info_ptr, png_bytep buffer, png_size_t buffer_size));
|
||||||
|
|
||||||
@ -2091,7 +2094,7 @@ extern PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr,
|
|||||||
png_uint_32 size));
|
png_uint_32 size));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* frees a pointer allocated by png_malloc() */
|
/* Frees a pointer allocated by png_malloc() */
|
||||||
extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr));
|
extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr));
|
||||||
|
|
||||||
#if defined(PNG_1_0_X)
|
#if defined(PNG_1_0_X)
|
||||||
@ -2108,11 +2111,12 @@ extern PNG_EXPORT(void,png_free_data) PNGARG((png_structp png_ptr,
|
|||||||
png_infop info_ptr, png_uint_32 free_me, int num));
|
png_infop info_ptr, png_uint_32 free_me, int num));
|
||||||
#ifdef PNG_FREE_ME_SUPPORTED
|
#ifdef PNG_FREE_ME_SUPPORTED
|
||||||
/* Reassign responsibility for freeing existing data, whether allocated
|
/* Reassign responsibility for freeing existing data, whether allocated
|
||||||
* by libpng or by the application */
|
* by libpng or by the application
|
||||||
|
*/
|
||||||
extern PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr, int freer, png_uint_32 mask));
|
png_infop info_ptr, int freer, png_uint_32 mask));
|
||||||
#endif
|
#endif
|
||||||
/* assignments for png_data_freer */
|
/* Assignments for png_data_freer */
|
||||||
#define PNG_DESTROY_WILL_FREE_DATA 1
|
#define PNG_DESTROY_WILL_FREE_DATA 1
|
||||||
#define PNG_SET_WILL_FREE_DATA 1
|
#define PNG_SET_WILL_FREE_DATA 1
|
||||||
#define PNG_USER_WILL_FREE_DATA 2
|
#define PNG_USER_WILL_FREE_DATA 2
|
||||||
@ -2196,11 +2200,13 @@ png_infop info_ptr));
|
|||||||
|
|
||||||
#if defined(PNG_INFO_IMAGE_SUPPORTED)
|
#if defined(PNG_INFO_IMAGE_SUPPORTED)
|
||||||
/* Returns row_pointers, which is an array of pointers to scanlines that was
|
/* Returns row_pointers, which is an array of pointers to scanlines that was
|
||||||
returned from png_read_png(). */
|
* returned from png_read_png().
|
||||||
|
*/
|
||||||
extern PNG_EXPORT(png_bytepp,png_get_rows) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(png_bytepp,png_get_rows) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr));
|
png_infop info_ptr));
|
||||||
/* Set row_pointers, which is an array of pointers to scanlines for use
|
/* Set row_pointers, which is an array of pointers to scanlines for use
|
||||||
by png_write_png(). */
|
* by png_write_png().
|
||||||
|
*/
|
||||||
extern PNG_EXPORT(void,png_set_rows) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_rows) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr, png_bytepp row_pointers));
|
png_infop info_ptr, png_bytepp row_pointers));
|
||||||
#endif
|
#endif
|
||||||
@ -2502,7 +2508,7 @@ extern PNG_EXPORT(void,png_set_sCAL_s) PNGARG((png_structp png_ptr,
|
|||||||
#endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */
|
#endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */
|
||||||
|
|
||||||
#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
|
#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
|
||||||
/* provide a list of chunks and how they are to be handled, if the built-in
|
/* Provide a list of chunks and how they are to be handled, if the built-in
|
||||||
handling or default unknown chunk handling is not desired. Any chunks not
|
handling or default unknown chunk handling is not desired. Any chunks not
|
||||||
listed will be handled in the default manner. The IHDR and IEND chunks
|
listed will be handled in the default manner. The IHDR and IEND chunks
|
||||||
must not be listed.
|
must not be listed.
|
||||||
@ -2526,8 +2532,9 @@ extern PNG_EXPORT(png_uint_32,png_get_unknown_chunks) PNGARG((png_structp
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Png_free_data() will turn off the "valid" flag for anything it frees.
|
/* Png_free_data() will turn off the "valid" flag for anything it frees.
|
||||||
If you need to turn it off for a chunk that your application has freed,
|
* If you need to turn it off for a chunk that your application has freed,
|
||||||
you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); */
|
* you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK);
|
||||||
|
*/
|
||||||
extern PNG_EXPORT(void, png_set_invalid) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void, png_set_invalid) PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr, int mask));
|
png_infop info_ptr, int mask));
|
||||||
|
|
||||||
@ -2572,8 +2579,9 @@ extern PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr,
|
|||||||
#endif /* PNG_DEBUG_FILE */
|
#endif /* PNG_DEBUG_FILE */
|
||||||
|
|
||||||
#if (PNG_DEBUG > 1)
|
#if (PNG_DEBUG > 1)
|
||||||
/* Note: ["%s"m PNG_STRING_NEWLINE] probably does not work on
|
/* Note: ["%s"m PNG_STRING_NEWLINE] probably does not work on non-ISO
|
||||||
* non-ISO compilers */
|
* compilers.
|
||||||
|
*/
|
||||||
# ifdef __STDC__
|
# ifdef __STDC__
|
||||||
# ifndef png_debug
|
# ifndef png_debug
|
||||||
# define png_debug(l,m) \
|
# define png_debug(l,m) \
|
||||||
@ -2734,7 +2742,8 @@ extern PNG_EXPORT(int,png_mmx_support) PNGARG((void));
|
|||||||
#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
|
#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
|
||||||
|
|
||||||
/* Strip the prepended error numbers ("#nnn ") from error and warning
|
/* Strip the prepended error numbers ("#nnn ") from error and warning
|
||||||
* messages before passing them to the error or warning handler. */
|
* messages before passing them to the error or warning handler.
|
||||||
|
*/
|
||||||
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
||||||
extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp
|
extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp
|
||||||
png_ptr, png_uint_32 strip_mode));
|
png_ptr, png_uint_32 strip_mode));
|
||||||
@ -2751,7 +2760,9 @@ extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
|
/* Maintainer: Put new public prototypes here ^, in libpng.3, and in
|
||||||
|
* project defs
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
|
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
|
||||||
/* With these routines we avoid an integer divide, which will be slower on
|
/* With these routines we avoid an integer divide, which will be slower on
|
||||||
@ -2780,7 +2791,7 @@ extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp
|
|||||||
(png_uint_32)(alpha)) + (png_uint_32)32768L); \
|
(png_uint_32)(alpha)) + (png_uint_32)32768L); \
|
||||||
(composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); }
|
(composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); }
|
||||||
|
|
||||||
#else /* standard method using integer division */
|
#else /* Standard method using integer division */
|
||||||
|
|
||||||
# define png_composite(composite, fg, alpha, bg) \
|
# define png_composite(composite, fg, alpha, bg) \
|
||||||
(composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \
|
(composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \
|
||||||
@ -2863,7 +2874,7 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
|||||||
#define PNG_HAVE_PNG_SIGNATURE 0x1000
|
#define PNG_HAVE_PNG_SIGNATURE 0x1000
|
||||||
#define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */
|
#define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */
|
||||||
|
|
||||||
/* flags for the transformations the PNG library does on the image data */
|
/* Flags for the transformations the PNG library does on the image data */
|
||||||
#define PNG_BGR 0x0001
|
#define PNG_BGR 0x0001
|
||||||
#define PNG_INTERLACE 0x0002
|
#define PNG_INTERLACE 0x0002
|
||||||
#define PNG_PACK 0x0004
|
#define PNG_PACK 0x0004
|
||||||
@ -2897,7 +2908,7 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
|||||||
/* 0x20000000L unused */
|
/* 0x20000000L unused */
|
||||||
/* 0x40000000L unused */
|
/* 0x40000000L unused */
|
||||||
|
|
||||||
/* flags for png_create_struct */
|
/* Flags for png_create_struct */
|
||||||
#define PNG_STRUCT_PNG 0x0001
|
#define PNG_STRUCT_PNG 0x0001
|
||||||
#define PNG_STRUCT_INFO 0x0002
|
#define PNG_STRUCT_INFO 0x0002
|
||||||
|
|
||||||
@ -2907,7 +2918,7 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
|||||||
#define PNG_COST_SHIFT 3
|
#define PNG_COST_SHIFT 3
|
||||||
#define PNG_COST_FACTOR (1<<(PNG_COST_SHIFT))
|
#define PNG_COST_FACTOR (1<<(PNG_COST_SHIFT))
|
||||||
|
|
||||||
/* flags for the png_ptr->flags rather than declaring a byte for each one */
|
/* Flags for the png_ptr->flags rather than declaring a byte for each one */
|
||||||
#define PNG_FLAG_ZLIB_CUSTOM_STRATEGY 0x0001
|
#define PNG_FLAG_ZLIB_CUSTOM_STRATEGY 0x0001
|
||||||
#define PNG_FLAG_ZLIB_CUSTOM_LEVEL 0x0002
|
#define PNG_FLAG_ZLIB_CUSTOM_LEVEL 0x0002
|
||||||
#define PNG_FLAG_ZLIB_CUSTOM_MEM_LEVEL 0x0004
|
#define PNG_FLAG_ZLIB_CUSTOM_MEM_LEVEL 0x0004
|
||||||
@ -2949,7 +2960,7 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
|||||||
#define PNG_FLAG_CRC_MASK (PNG_FLAG_CRC_ANCILLARY_MASK | \
|
#define PNG_FLAG_CRC_MASK (PNG_FLAG_CRC_ANCILLARY_MASK | \
|
||||||
PNG_FLAG_CRC_CRITICAL_MASK)
|
PNG_FLAG_CRC_CRITICAL_MASK)
|
||||||
|
|
||||||
/* save typing and make code easier to understand */
|
/* Save typing and make code easier to understand */
|
||||||
|
|
||||||
#define PNG_COLOR_DIST(c1, c2) (abs((int)((c1).red) - (int)((c2).red)) + \
|
#define PNG_COLOR_DIST(c1, c2) (abs((int)((c1).red) - (int)((c2).red)) + \
|
||||||
abs((int)((c1).green) - (int)((c2).green)) + \
|
abs((int)((c1).green) - (int)((c2).green)) + \
|
||||||
@ -2962,13 +2973,14 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
|||||||
(( ((width) * ((png_uint_32)(pixel_bits))) + 7) >> 3) )
|
(( ((width) * ((png_uint_32)(pixel_bits))) + 7) >> 3) )
|
||||||
|
|
||||||
/* PNG_OUT_OF_RANGE returns true if value is outside the range
|
/* PNG_OUT_OF_RANGE returns true if value is outside the range
|
||||||
ideal-delta..ideal+delta. Each argument is evaluated twice.
|
* ideal-delta..ideal+delta. Each argument is evaluated twice.
|
||||||
"ideal" and "delta" should be constants, normally simple
|
* "ideal" and "delta" should be constants, normally simple
|
||||||
integers, "value" a variable. Added to libpng-1.2.6 JB */
|
* integers, "value" a variable. Added to libpng-1.2.6 JB
|
||||||
|
*/
|
||||||
#define PNG_OUT_OF_RANGE(value, ideal, delta) \
|
#define PNG_OUT_OF_RANGE(value, ideal, delta) \
|
||||||
( (value) < (ideal)-(delta) || (value) > (ideal)+(delta) )
|
( (value) < (ideal)-(delta) || (value) > (ideal)+(delta) )
|
||||||
|
|
||||||
/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
|
/* Variables declared in png.c - only it needs to define PNG_NO_EXTERN */
|
||||||
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
|
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
|
||||||
/* place to hold the signature string for a PNG file. */
|
/* place to hold the signature string for a PNG file. */
|
||||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||||
@ -3089,7 +3101,8 @@ PNG_EXTERN void png_zfree PNGARG((voidpf png_ptr, voidpf ptr));
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Next four functions are used internally as callbacks. PNGAPI is required
|
/* Next four functions are used internally as callbacks. PNGAPI is required
|
||||||
* but not PNG_EXPORT. PNGAPI added at libpng version 1.2.3. */
|
* but not PNG_EXPORT. PNGAPI added at libpng version 1.2.3.
|
||||||
|
*/
|
||||||
|
|
||||||
PNG_EXTERN void PNGAPI png_default_read_data PNGARG((png_structp png_ptr,
|
PNG_EXTERN void PNGAPI png_default_read_data PNGARG((png_structp png_ptr,
|
||||||
png_bytep data, png_size_t length));
|
png_bytep data, png_size_t length));
|
||||||
@ -3154,10 +3167,10 @@ PNG_EXTERN void png_calculate_crc PNGARG((png_structp png_ptr, png_bytep ptr,
|
|||||||
PNG_EXTERN void png_flush PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_flush PNGARG((png_structp png_ptr));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* simple function to write the signature */
|
/* Simple function to write the signature */
|
||||||
PNG_EXTERN void png_write_sig PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_write_sig PNGARG((png_structp png_ptr));
|
||||||
|
|
||||||
/* write various chunks */
|
/* Write various chunks */
|
||||||
|
|
||||||
/* Write the IHDR chunk, and update the png_struct with the necessary
|
/* Write the IHDR chunk, and update the png_struct with the necessary
|
||||||
* information.
|
* information.
|
||||||
@ -3309,12 +3322,12 @@ PNG_EXTERN void png_write_start_row PNGARG((png_structp png_ptr));
|
|||||||
PNG_EXTERN void png_build_gamma_table PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_build_gamma_table PNGARG((png_structp png_ptr));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* combine a row of data, dealing with alpha, etc. if requested */
|
/* Combine a row of data, dealing with alpha, etc. if requested */
|
||||||
PNG_EXTERN void png_combine_row PNGARG((png_structp png_ptr, png_bytep row,
|
PNG_EXTERN void png_combine_row PNGARG((png_structp png_ptr, png_bytep row,
|
||||||
int mask));
|
int mask));
|
||||||
|
|
||||||
#if defined(PNG_READ_INTERLACING_SUPPORTED)
|
#if defined(PNG_READ_INTERLACING_SUPPORTED)
|
||||||
/* expand an interlaced row */
|
/* Expand an interlaced row */
|
||||||
/* OLD pre-1.0.9 interface:
|
/* OLD pre-1.0.9 interface:
|
||||||
PNG_EXTERN void png_do_read_interlace PNGARG((png_row_infop row_info,
|
PNG_EXTERN void png_do_read_interlace PNGARG((png_row_infop row_info,
|
||||||
png_bytep row, int pass, png_uint_32 transformations));
|
png_bytep row, int pass, png_uint_32 transformations));
|
||||||
@ -3325,12 +3338,12 @@ PNG_EXTERN void png_do_read_interlace PNGARG((png_structp png_ptr));
|
|||||||
/* GRR TO DO (2.0 or whenever): simplify other internal calling interfaces */
|
/* GRR TO DO (2.0 or whenever): simplify other internal calling interfaces */
|
||||||
|
|
||||||
#if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
#if defined(PNG_WRITE_INTERLACING_SUPPORTED)
|
||||||
/* grab pixels out of a row for an interlaced pass */
|
/* Grab pixels out of a row for an interlaced pass */
|
||||||
PNG_EXTERN void png_do_write_interlace PNGARG((png_row_infop row_info,
|
PNG_EXTERN void png_do_write_interlace PNGARG((png_row_infop row_info,
|
||||||
png_bytep row, int pass));
|
png_bytep row, int pass));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* unfilter a row */
|
/* Unfilter a row */
|
||||||
PNG_EXTERN void png_read_filter_row PNGARG((png_structp png_ptr,
|
PNG_EXTERN void png_read_filter_row PNGARG((png_structp png_ptr,
|
||||||
png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter));
|
png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter));
|
||||||
|
|
||||||
@ -3341,16 +3354,16 @@ PNG_EXTERN void png_write_find_filter PNGARG((png_structp png_ptr,
|
|||||||
/* Write out the filtered row. */
|
/* Write out the filtered row. */
|
||||||
PNG_EXTERN void png_write_filtered_row PNGARG((png_structp png_ptr,
|
PNG_EXTERN void png_write_filtered_row PNGARG((png_structp png_ptr,
|
||||||
png_bytep filtered_row));
|
png_bytep filtered_row));
|
||||||
/* finish a row while reading, dealing with interlacing passes, etc. */
|
/* Finish a row while reading, dealing with interlacing passes, etc. */
|
||||||
PNG_EXTERN void png_read_finish_row PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_read_finish_row PNGARG((png_structp png_ptr));
|
||||||
|
|
||||||
/* initialize the row buffers, etc. */
|
/* Initialize the row buffers, etc. */
|
||||||
PNG_EXTERN void png_read_start_row PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_read_start_row PNGARG((png_structp png_ptr));
|
||||||
/* optional call to update the users info structure */
|
/* Optional call to update the users info structure */
|
||||||
PNG_EXTERN void png_read_transform_info PNGARG((png_structp png_ptr,
|
PNG_EXTERN void png_read_transform_info PNGARG((png_structp png_ptr,
|
||||||
png_infop info_ptr));
|
png_infop info_ptr));
|
||||||
|
|
||||||
/* these are the functions that do the transformations */
|
/* These are the functions that do the transformations */
|
||||||
#if defined(PNG_READ_FILLER_SUPPORTED)
|
#if defined(PNG_READ_FILLER_SUPPORTED)
|
||||||
PNG_EXTERN void png_do_read_filler PNGARG((png_row_infop row_info,
|
PNG_EXTERN void png_do_read_filler PNGARG((png_row_infop row_info,
|
||||||
png_bytep row, png_uint_32 filler, png_uint_32 flags));
|
png_bytep row, png_uint_32 filler, png_uint_32 flags));
|
||||||
@ -3472,7 +3485,7 @@ PNG_EXTERN void png_do_expand PNGARG((png_row_infop row_info,
|
|||||||
* then calls the appropriate callback for the chunk if it is valid.
|
* then calls the appropriate callback for the chunk if it is valid.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* decode the IHDR chunk */
|
/* Decode the IHDR chunk */
|
||||||
PNG_EXTERN void png_handle_IHDR PNGARG((png_structp png_ptr, png_infop info_ptr,
|
PNG_EXTERN void png_handle_IHDR PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||||
png_uint_32 length));
|
png_uint_32 length));
|
||||||
PNG_EXTERN void png_handle_PLTE PNGARG((png_structp png_ptr, png_infop info_ptr,
|
PNG_EXTERN void png_handle_PLTE PNGARG((png_structp png_ptr, png_infop info_ptr,
|
||||||
@ -3571,7 +3584,7 @@ PNG_EXTERN void png_handle_unknown PNGARG((png_structp png_ptr,
|
|||||||
PNG_EXTERN void png_check_chunk_name PNGARG((png_structp png_ptr,
|
PNG_EXTERN void png_check_chunk_name PNGARG((png_structp png_ptr,
|
||||||
png_bytep chunk_name));
|
png_bytep chunk_name));
|
||||||
|
|
||||||
/* handle the transformations for reading and writing */
|
/* Handle the transformations for reading and writing */
|
||||||
PNG_EXTERN void png_do_read_transformations PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_do_read_transformations PNGARG((png_structp png_ptr));
|
||||||
PNG_EXTERN void png_do_write_transformations PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_do_write_transformations PNGARG((png_structp png_ptr));
|
||||||
|
|
||||||
@ -3683,5 +3696,5 @@ PNG_EXTERN int png_check_cHRM_fixed PNGARG((png_structp png_ptr,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* PNG_VERSION_INFO_ONLY */
|
#endif /* PNG_VERSION_INFO_ONLY */
|
||||||
/* do not put anything past this line */
|
/* Do not put anything past this line */
|
||||||
#endif /* PNG_H */
|
#endif /* PNG_H */
|
||||||
|
Reference in New Issue
Block a user