Imported from libpng-1.0.6.tar
diff --git a/png.h b/png.h
index 2c969e2..5aaec69 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.0.5s - February 18, 2000
+ * libpng version 1.0.6 - March 21, 2000
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -9,19 +9,150 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.89c, May 1996: Guy Schalnat
* libpng versions 0.90, December 1996, through 0.96, May 1997: Andreas Dilger
- * libpng versions 0.97, January 1998, through 1.0.5s - February 18, 2000: Glenn
+ * libpng versions 0.97, January 1998, through 1.0.6 - March 21, 2000: Glenn
* See also "Contributing Authors", below.
*
+ * Note about libpng version numbers:
+ *
+ * Due to various miscommunications, unforeseen code incompatibilities
+ * and occasional factors outside the authors' control, version numbering
+ * on the library has not always been consistent and straightforward.
+ * The following table summarizes matters since version 0.89c, which was
+ * the first widely used release:
+ *
+ * source png.h png.h shared-lib
+ * version string int version
+ * ------- ------ ----- ----------
+ * 0.89c ("1.0 beta 3") 0.89 89 1.0.89
+ * 0.90 ("1.0 beta 4") 0.90 90 0.90 [should have been 2.0.90]
+ * 0.95 ("1.0 beta 5") 0.95 95 0.95 [should have been 2.0.95]
+ * 0.96 ("1.0 beta 6") 0.96 96 0.96 [should have been 2.0.96]
+ * 0.97b ("1.00.97 beta 7") 1.00.97 97 1.0.1 [should have been 2.0.97]
+ * 0.97c 0.97 97 2.0.97
+ * 0.98 0.98 98 2.0.98
+ * 0.99 0.99 98 2.0.99
+ * 0.99a-m 0.99 99 2.0.99
+ * 1.00 1.00 100 2.1.0 [100 should be 10000]
+ * 1.0.0 1.0.0 100 2.1.0 [100 should be 10000]
+ * 1.0.1 1.0.1 10001 2.1.0
+ * 1.0.1a-e 1.0.1a-e 10002 2.1.0.1a-e
+ * 1.0.2 1.0.2 10002 2.1.0.2
+ * 1.0.2a-b 1.0.2a-b 10003 2.1.0.2a-b
+ * 1.0.3 1.0.3 10003 2.1.0.3
+ * 1.0.3a-d 1.0.3a-d 10004 2.1.0.3a-d
+ * 1.0.4 1.0.4 10004 2.1.0.4
+ * 1.0.4a-f 1.0.4a-f 10005 2.1.0.4a-f
+ * 1.0.5 1.0.5 10005 2.1.0.5
+ * 1.0.5a-d 1.0.5a-d 10006 2.1.0.5a-d
+ * 1.0.5e-r 1.0.5e-r 10100 2.1.0.5e-r (not compatible)
+ * 1.0.5s-v 1.0.5s-v 10006 2.1.0.5s-w (compatible)
+ * 1.0.6 1.0.6 10006 2.1.0.6
+ * 1.3.0 1.3.0 10300 3.1.3.0
+ *
+ * Henceforth the source version will match the shared-library minor
+ * and patch numbers; the shared-library major version number will be
+ * used for changes in backward compatibility, as it is intended. The
+ * PNG_PNGLIB_VER macro, which is not used within libpng but is available
+ * for applications, is an unsigned integer of the form xyyzz corresponding
+ * to the source version x.y.z (leading zeros in y and z). Internal
+ * png-group beta versions (x.y.z[a-z]) will be given the next higher
+ * number.
+ *
+ * See libpng.txt or libpng.3 for more information. The PNG specification
+ * is available as RFC 2083 <ftp://ftp.uu.net/graphics/png/documents/>
+ * and as a W3C Recommendation <http://www.w3.org/TR/REC.png.html>
+ */
+
+/*
+ * COPYRIGHT NOTICE:
+ *
+ * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+ * (libpng versions 0.5, May 1995, through 0.89c, May 1996)
+ * Copyright (c) 1996, 1997 Andreas Dilger
+ * (libpng versions 0.90, December 1996, through 0.96, May 1997)
+ * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
+ * (libpng versions 0.97, January 1998, through 1.0.6, March 21, 2000)
+ *
+ * For the purposes of this copyright and license, "Contributing Authors"
+ * is defined as the following set of individuals:
+ *
+ * John Bowler
+ * Kevin Bracey
+ * Sam Bushell
+ * Andreas Dilger
+ * Magnus Holmgren
+ * Tom Lane
+ * Dave Martindale
+ * Glenn Randers-Pehrson
+ * Eric S. Raymond
+ * Greg Roelofs
+ * Guy Eric Schalnat
+ * Paul Schmidt
+ * Tom Tanner
+ * Willem van Schaik
+ * Tim Wegner
+ *
+ * The PNG Reference Library is supplied "AS IS". The Contributing Authors
+ * and Group 42, Inc. disclaim all warranties, expressed or implied,
+ * including, without limitation, the warranties of merchantability and of
+ * fitness for any purpose. The Contributing Authors and Group 42, Inc.
+ * assume no liability for direct, indirect, incidental, special, exemplary,
+ * or consequential damages, which may result from the use of the PNG
+ * Reference Library, even if advised of the possibility of such damage.
+ *
+ * Permission is hereby granted to use, copy, modify, and distribute this
+ * source code, or portions hereof, for any purpose, without fee, subject
+ * to the following restrictions:
+ *
+ * 1. The origin of this source code must not be misrepresented.
+ *
+ * 2. Altered versions must be plainly marked as such and must not
+ * be misrepresented as being the original source.
+ *
+ * 3. This Copyright notice may not be removed or altered from any
+ * source or altered source distribution.
+ *
+ * The Contributing Authors and Group 42, Inc. specifically permit, without
+ * fee, and encourage the use of this source code as a component to
+ * supporting the PNG file format in commercial products. If you use this
+ * source code in a product, acknowledgment is not required but would be
+ * appreciated.
+ */
+
+/*
+ * A "png_get_copyright" function is available, for convenient use in "about"
+ * boxes and the like:
+ *
+ * printf("%s",png_get_copyright(NULL));
+ *
+ * Also, the PNG logo (in PNG format, of course) is supplied in the
+ * file "pngnow.png".
+ */
+
+/*
+ * Libpng is OSI Certified Open Source Software. OSI Certified is a
+ * certification mark of the Open Source Initiative.
+ */
+
+/*
+ * The contributing authors would like to thank all those who helped
+ * with testing, bug fixes, and patience. This wouldn't have been
+ * possible without all of you.
+ *
+ * Thanks to Frank J. T. Wojcik for helping with the documentation.
+ */
+
+/*
* Y2K compliance in libpng:
* =========================
*
- * February 18, 2000
+ * March 21, 2000
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
*
* This is your unofficial assurance that libpng from version 0.71 and
- * upward through 1.0.5s are Y2K compliant. It is my belief that earlier
+ * upward through 1.0.6 are Y2K compliant. It is my belief that earlier
* versions were also Y2K compliant.
*
* Libpng only has three year fields. One is a 2-byte unsigned integer
@@ -65,137 +196,6 @@
* Glenn Randers-Pehrson
* libpng maintainer
* PNG Development Group
- *
- * Note about libpng version numbers:
- *
- * Due to various miscommunications, unforeseen code incompatibilities
- * and occasional factors outside the authors' control, version numbering
- * on the library has not always been consistent and straightforward.
- * The following table summarizes matters since version 0.89c, which was
- * the first widely used release:
- *
- * source png.h png.h shared-lib
- * version string int version
- * ------- ------ ----- ----------
- * 0.89c ("1.0 beta 3") 0.89 89 1.0.89
- * 0.90 ("1.0 beta 4") 0.90 90 0.90 [should have been 2.0.90]
- * 0.95 ("1.0 beta 5") 0.95 95 0.95 [should have been 2.0.95]
- * 0.96 ("1.0 beta 6") 0.96 96 0.96 [should have been 2.0.96]
- * 0.97b ("1.00.97 beta 7") 1.00.97 97 1.0.1 [should have been 2.0.97]
- * 0.97c 0.97 97 2.0.97
- * 0.98 0.98 98 2.0.98
- * 0.99 0.99 98 2.0.99
- * 0.99a-m 0.99 99 2.0.99
- * 1.00 1.00 100 2.1.0 [100 should be 10000]
- * 1.0.0 1.0.0 100 2.1.0 [100 should be 10000]
- * 1.0.1 1.0.1 10001 2.1.0
- * 1.0.1a-e 1.0.1a-e 10002 2.1.0.1a-e
- * 1.0.2 1.0.2 10002 2.1.0.2
- * 1.0.2a-b 1.0.2a-b 10003 2.1.0.2a-b
- * 1.0.3 1.0.3 10003 2.1.0.3
- * 1.0.3a-d 1.0.3a-d 10004 2.1.0.3a-d
- * 1.0.4 1.0.4 10004 2.1.0.4
- * 1.0.4a-f 1.0.4a-f 10005 2.1.0.4a-f
- * 1.0.5 1.0.5 10005 2.1.0.5
- * 1.0.5a-d 1.0.5a-d 10006 2.1.0.5a-d
- * 1.0.5e-r 1.0.5e-r 10100 2.1.0.5e-r (not compatible)
- * 1.0.5s 1.0.5s 10006 2.1.0.5s (compatible)
- * 1.3.0 1.3.0 10300 3.1.3.0
- *
- * Henceforth the source version will match the shared-library minor
- * and patch numbers; the shared-library major version number will be
- * used for changes in backward compatibility, as it is intended. The
- * PNG_PNGLIB_VER macro, which is not used within libpng but is available
- * for applications, is an unsigned integer of the form xyyzz corresponding
- * to the source version x.y.z (leading zeros in y and z). Internal
- * png-group beta versions (x.y.z[a-z]) will be given the next higher
- * number.
- *
- * See libpng.txt or libpng.3 for more information. The PNG specification
- * is available as RFC 2083 <ftp://ftp.uu.net/graphics/png/documents/>
- * and as a W3C Recommendation <http://www.w3.org/TR/REC.png.html>
- */
-
-/*
- * COPYRIGHT NOTICE:
- *
- * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
- * (libpng versions 0.5, May 1995, through 0.89c, May 1996)
- * Copyright (c) 1996, 1997 Andreas Dilger
- * (libpng versions 0.90, December 1996, through 0.96, May 1997)
- * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
- * (libpng versions 0.97, January 1998, through 1.0.5s, February 18, 2000)
- *
- * For the purposes of this copyright and license, "Contributing Authors"
- * is defined as the following set of individuals:
- *
- * John Bowler
- * Kevin Bracey
- * Sam Bushell
- * Andreas Dilger
- * Magnus Holmgren
- * Tom Lane
- * Dave Martindale
- * Glenn Randers-Pehrson
- * Eric S. Raymond
- * Greg Roelofs
- * Guy Eric Schalnat
- * Paul Schmidt
- * Tom Tanner
- * Willem van Schaik
- * Tim Wegner
- *
- * The PNG Reference Library is supplied "AS IS". The Contributing Authors
- * and Group 42, Inc. disclaim all warranties, expressed or implied,
- * including, without limitation, the warranties of merchantability and of
- * fitness for any purpose. The Contributing Authors and Group 42, Inc.
- * assume no liability for direct, indirect, incidental, special, exemplary,
- * or consequential damages, which may result from the use of the PNG
- * Reference Library, even if advised of the possibility of such damage.
- *
- * Permission is hereby granted to use, copy, modify, and distribute this
- * source code, or portions hereof, for any purpose, without fee, subject
- * to the following restrictions:
- *
- * 1. The origin of this source code must not be
- * misrepresented.
- *
- * 2. Altered versions must be plainly marked as such
- * and must not be misrepresented as being the
- * original source.
- *
- * 3. This Copyright notice may not be removed or
- * altered from any source or altered source
- * distribution.
- *
- * The Contributing Authors and Group 42, Inc. specifically permit, without
- * fee, and encourage the use of this source code as a component to
- * supporting the PNG file format in commercial products. If you use this
- * source code in a product, acknowledgment is not required but would be
- * appreciated.
- */
-
-/*
- * A "png_get_copyright" function is available, for convenient use in "about"
- * boxes and the like:
- *
- * printf("%s",png_get_copyright(NULL));
- *
- * Also, the PNG logo (in PNG format, of course) is supplied in the
- * file "pngnow.png".
- */
-
-/*
- * Libpng is OSI Certified Open Source Software. OSI Certified is a
- * certification mark of the Open Source Initiative.
- */
-
-/*
- * The contributing authors would like to thank all those who helped
- * with testing, bug fixes, and patience. This wouldn't have been
- * possible without all of you.
- *
- * Thanks to Frank J. T. Wojcik for helping with the documentation.
*/
#ifndef _PNG_H
@@ -230,7 +230,7 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.5s"
+#define PNG_LIBPNG_VER_STRING "1.0.6"
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
@@ -310,26 +310,26 @@
* The following two structures are used for the in-core representation
* of sPLT chunks.
*/
-typedef struct png_spalette_entry_struct
+typedef struct png_sPLT_entry_struct
{
png_uint_16 red;
png_uint_16 green;
png_uint_16 blue;
png_uint_16 alpha;
png_uint_16 frequency;
-} png_spalette_entry;
-typedef png_spalette_entry FAR * png_spalette_entryp;
-typedef png_spalette_entry FAR * FAR * png_spalette_entrypp;
+} png_sPLT_entry;
+typedef png_sPLT_entry FAR * png_sPLT_entryp;
+typedef png_sPLT_entry FAR * FAR * png_sPLT_entrypp;
-typedef struct png_spalette_struct
+typedef struct png_sPLT_struct
{
png_charp name; /* palette name */
png_byte depth; /* depth of palette samples */
- png_spalette_entryp entries; /* palette entries */
+ png_sPLT_entryp entries; /* palette entries */
png_int_32 nentries; /* number of palette entries */
-} png_spalette;
-typedef png_spalette FAR * png_spalette_p;
-typedef png_spalette FAR * FAR * png_spalette_pp;
+} png_sPLT_t;
+typedef png_sPLT_t FAR * png_sPLT_tp;
+typedef png_sPLT_t FAR * FAR * png_sPLT_tpp;
#ifdef PNG_TEXT_SUPPORTED
/* png_text holds the contents of a text/ztxt/itxt chunk in a PNG file,
@@ -635,7 +635,7 @@
#if defined(PNG_sPLT_SUPPORTED)
/* data on sPLT chunks (there may be more than one). */
- png_spalette_p splt_palettes;
+ png_sPLT_tp splt_palettes;
png_uint_32 splt_palettes_num;
#endif
@@ -1039,9 +1039,9 @@
#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
png_byte rgb_to_gray_status;
- png_byte rgb_to_gray_red_coeff;
- png_byte rgb_to_gray_green_coeff;
- png_byte rgb_to_gray_blue_coeff;
+ png_uint_16 rgb_to_gray_red_coeff;
+ png_uint_16 rgb_to_gray_green_coeff;
+ png_uint_16 rgb_to_gray_blue_coeff;
#endif
#if defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
@@ -1056,9 +1056,9 @@
};
/* This prevents a compiler error in png_get_copyright() in png.c if png.c
-and png.h are both at * version 1.0.5s
+and png.h are both at * version 1.0.6
*/
-typedef png_structp version_1_0_5s;
+typedef png_structp version_1_0_6;
typedef png_struct FAR * FAR * png_structpp;
@@ -1179,6 +1179,8 @@
extern PNG_EXPORT(void,png_set_rgb_to_gray) PNGARG((png_structp png_ptr,
int error_action, double red, double green ));
#endif
+extern PNG_EXPORT(void,png_set_rgb_to_gray_fixed) PNGARG((png_structp png_ptr,
+ int error_action, png_fixed_point red, png_fixed_point green ));
extern PNG_EXPORT(png_byte,png_get_rgb_to_gray_status) PNGARG((png_structp
png_ptr));
#endif
@@ -1887,12 +1889,12 @@
#if defined(PNG_READ_sPLT_SUPPORTED)
extern PNG_EXPORT(png_uint_32,png_get_sPLT) PNGARG((png_structp png_ptr,
- png_infop info_ptr, png_spalette_pp entries));
+ png_infop info_ptr, png_sPLT_tpp entries));
#endif
#if defined(PNG_sPLT_SUPPORTED)
extern PNG_EXPORT(void,png_set_sPLT) PNGARG((png_structp png_ptr,
- png_infop info_ptr, png_spalette_p entries, int nentries));
+ png_infop info_ptr, png_sPLT_tp entries, int nentries));
#endif
#if defined(PNG_TEXT_SUPPORTED)
@@ -2029,7 +2031,7 @@
extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr));
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.0.5s - February 18, 2000 (header)\n"
+ " libpng version 1.0.6 - March 21, 2000 (header)\n"
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
/* With these routines we avoid an integer divide, which will be slower on
@@ -2083,7 +2085,6 @@
/* Various modes of operation. Note that after an init, mode is set to
* zero automatically when the structure is created.
*/
-#define PNG_BEFORE_IHDR 0x00
#define PNG_HAVE_IHDR 0x01
#define PNG_HAVE_PLTE 0x02
#define PNG_HAVE_IDAT 0x04
@@ -2404,7 +2405,7 @@
#if defined(PNG_WRITE_sPLT_SUPPORTED)
PNG_EXTERN void png_write_sPLT PNGARG((png_structp png_ptr,
- png_spalette_p palette));
+ png_sPLT_tp palette));
#endif
#if defined(PNG_WRITE_tRNS_SUPPORTED)