[devel] Moved macro definitions for PNG_HAVE_IHDR, PNG_HAVE_PLTE, and

PNG_AFTER_IDAT from pngpriv.h to png.h because they must be visible to
applications that call png_set_unknown_chunks().
This commit is contained in:
Glenn Randers-Pehrson 2011-05-10 23:48:00 -05:00
parent f70c7d02e9
commit 2d3fc1ca3b
6 changed files with 31 additions and 14 deletions

View File

@ -106,6 +106,9 @@ Version 1.5.3beta07 [May 11, 2011]
Added named value and 'flag' gamma support to png_set_gamma. Made a minor Added named value and 'flag' gamma support to png_set_gamma. Made a minor
change from the previous (unreleased) ABI/API to hide the exact value used change from the previous (unreleased) ABI/API to hide the exact value used
for Macs - it's not a good idea to embed this in the ABI! for Macs - it's not a good idea to embed this in the ABI!
Moved macro definitions for PNG_HAVE_IHDR, PNG_HAVE_PLTE, and PNG_AFTER_IDAT
from pngpriv.h to png.h because they must be visible to applications
that call png_set_unknown_chunks().
Send comments/corrections/commendations to png-mng-implement at lists.sf.net: Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
(subscription required; visit (subscription required; visit

View File

@ -3365,6 +3365,9 @@ Version 1.5.3beta07 [May 11, 2011]
Added named value and 'flag' gamma support to png_set_gamma. Made a minor Added named value and 'flag' gamma support to png_set_gamma. Made a minor
change from the previous (unreleased) ABI/API to hide the exact value used change from the previous (unreleased) ABI/API to hide the exact value used
for Macs - it's not a good idea to embed this in the ABI! for Macs - it's not a good idea to embed this in the ABI!
Moved macro definitions for PNG_HAVE_IHDR, PNG_HAVE_PLTE, and PNG_AFTER_IDAT
from pngpriv.h to png.h because they must be visible to applications
that call png_set_unknown_chunks().
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

View File

@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.5.3beta07 - May 9, 2011 libpng version 1.5.3beta07 - May 11, 2011
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2011 Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.5.3beta07 - May 9, 2011 libpng versions 0.97, January 1998, through 1.5.3beta07 - May 11, 2011
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -4199,7 +4199,7 @@ Other rules can be inferred by inspecting the libpng source.
XIV. Y2K Compliance in libpng XIV. Y2K Compliance in libpng
May 9, 2011 May 11, 2011
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.

View File

@ -1,4 +1,4 @@
.TH LIBPNG 3 "May 9, 2011" .TH LIBPNG 3 "May 11, 2011"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.3beta07 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.3beta07
.SH SYNOPSIS .SH SYNOPSIS
@ -951,7 +951,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT .SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.5.3beta07 - May 9, 2011 libpng version 1.5.3beta07 - May 11, 2011
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2011 Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -962,7 +962,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.5.3beta07 - May 9, 2011 libpng versions 0.97, January 1998, through 1.5.3beta07 - May 11, 2011
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -5150,7 +5150,7 @@ Other rules can be inferred by inspecting the libpng source.
.SH XIV. Y2K Compliance in libpng .SH XIV. Y2K Compliance in libpng
May 9, 2011 May 11, 2011
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.
@ -5402,7 +5402,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation. Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.5.3beta07 - May 9, 2011: Libpng version 1.5.3beta07 - May 11, 2011:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@ -5425,7 +5425,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.5.3beta07, May 9, 2011, are libpng versions 1.2.6, August 15, 2004, through 1.5.3beta07, May 11, 2011, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are Copyright (c) 2004,2006-2007 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
@ -5524,7 +5524,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
May 9, 2011 May 11, 2011
.\" end of man page .\" end of man page

9
png.h
View File

@ -665,12 +665,21 @@ typedef struct png_unknown_chunk_t
/* libpng-using applications should NOT directly modify this byte. */ /* libpng-using applications should NOT directly modify this byte. */
png_byte location; /* mode of operation at read time */ png_byte location; /* mode of operation at read time */
} }
/* Values for the unknown chunk location byte */
#define PNG_HAVE_IHDR 0x01
#define PNG_HAVE_PLTE 0x02
#define PNG_AFTER_IDAT 0x08
png_unknown_chunk; png_unknown_chunk;
typedef png_unknown_chunk FAR * png_unknown_chunkp; typedef png_unknown_chunk FAR * png_unknown_chunkp;
typedef PNG_CONST png_unknown_chunk FAR * png_const_unknown_chunkp; typedef PNG_CONST png_unknown_chunk FAR * png_const_unknown_chunkp;
typedef png_unknown_chunk FAR * FAR * png_unknown_chunkpp; typedef png_unknown_chunk FAR * FAR * png_unknown_chunkpp;
#endif #endif
/* The complete definition of png_info has, as of libpng-1.5.0, /* The complete definition of png_info has, as of libpng-1.5.0,
* been moved into a separate header file that is not accessible to * been moved into a separate header file that is not accessible to
* applications. Read libpng-manual.txt or libpng.3 for more info. * applications. Read libpng-manual.txt or libpng.3 for more info.

View File

@ -260,12 +260,14 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp;
*/ */
/* Various modes of operation. Note that after an init, mode is set to /* Various modes of operation. Note that after an init, mode is set to
* zero automatically when the structure is created. * zero automatically when the structure is created. Three of these
* are defined in png.h because they need to be visible to applications
* that call png_set_unknown_chunk().
*/ */
#define PNG_HAVE_IHDR 0x01 /* #define PNG_HAVE_IHDR 0x01 (defined in png.h) */
#define PNG_HAVE_PLTE 0x02 /* #define PNG_HAVE_PLTE 0x02 (defined in png.h) */
#define PNG_HAVE_IDAT 0x04 #define PNG_HAVE_IDAT 0x04
#define PNG_AFTER_IDAT 0x08 /* Have complete zlib datastream */ /* #define PNG_AFTER_IDAT 0x08 (defined in png.h) */
#define PNG_HAVE_IEND 0x10 #define PNG_HAVE_IEND 0x10
#define PNG_HAVE_gAMA 0x20 #define PNG_HAVE_gAMA 0x20
#define PNG_HAVE_cHRM 0x40 #define PNG_HAVE_cHRM 0x40