27 * This file is available under and governed by the GNU General Public |
27 * This file is available under and governed by the GNU General Public |
28 * License version 2 only, as published by the Free Software Foundation. |
28 * License version 2 only, as published by the Free Software Foundation. |
29 * However, the following notice accompanied the original version of this |
29 * However, the following notice accompanied the original version of this |
30 * file and, per its terms, should not be removed: |
30 * file and, per its terms, should not be removed: |
31 * |
31 * |
32 * Last changed in libpng 1.6.1 [March 28, 2013] |
32 * Last changed in libpng 1.6.35 [July 15, 2018] |
33 * Copyright (c) 1998-2002,2004,2006-2013 Glenn Randers-Pehrson |
33 * Copyright (c) 1998-2002,2004,2006-2013,2018 Glenn Randers-Pehrson |
34 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) |
34 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) |
35 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) |
35 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) |
36 * |
36 * |
37 * This code is released under the libpng license. |
37 * This code is released under the libpng license. |
38 * For conditions of distribution and use, see the disclaimer |
38 * For conditions of distribution and use, see the disclaimer |
81 #define PNGINFO_H |
81 #define PNGINFO_H |
82 |
82 |
83 struct png_info_def |
83 struct png_info_def |
84 { |
84 { |
85 /* The following are necessary for every PNG file */ |
85 /* The following are necessary for every PNG file */ |
86 png_uint_32 width; /* width of image in pixels (from IHDR) */ |
86 png_uint_32 width; /* width of image in pixels (from IHDR) */ |
87 png_uint_32 height; /* height of image in pixels (from IHDR) */ |
87 png_uint_32 height; /* height of image in pixels (from IHDR) */ |
88 png_uint_32 valid; /* valid chunk data (see PNG_INFO_ below) */ |
88 png_uint_32 valid; /* valid chunk data (see PNG_INFO_ below) */ |
89 png_size_t rowbytes; /* bytes needed to hold an untransformed row */ |
89 size_t rowbytes; /* bytes needed to hold an untransformed row */ |
90 png_colorp palette; /* array of color values (valid & PNG_INFO_PLTE) */ |
90 png_colorp palette; /* array of color values (valid & PNG_INFO_PLTE) */ |
91 png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */ |
91 png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */ |
92 png_uint_16 num_trans; /* number of transparent palette color (tRNS) */ |
92 png_uint_16 num_trans; /* number of transparent palette color (tRNS) */ |
93 png_byte bit_depth; /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */ |
93 png_byte bit_depth; /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */ |
94 png_byte color_type; /* see PNG_COLOR_TYPE_ below (from IHDR) */ |
94 png_byte color_type; /* see PNG_COLOR_TYPE_ below (from IHDR) */ |
273 |
273 |
274 #ifdef PNG_sCAL_SUPPORTED |
274 #ifdef PNG_sCAL_SUPPORTED |
275 /* The sCAL chunk describes the actual physical dimensions of the |
275 /* The sCAL chunk describes the actual physical dimensions of the |
276 * subject matter of the graphic. The chunk contains a unit specification |
276 * subject matter of the graphic. The chunk contains a unit specification |
277 * a byte value, and two ASCII strings representing floating-point |
277 * a byte value, and two ASCII strings representing floating-point |
278 * values. The values are width and height corresponsing to one pixel |
278 * values. The values are width and height corresponding to one pixel |
279 * in the image. Data values are valid if (valid & PNG_INFO_sCAL) is |
279 * in the image. Data values are valid if (valid & PNG_INFO_sCAL) is |
280 * non-zero. |
280 * non-zero. |
281 */ |
281 */ |
282 png_byte scal_unit; /* unit of physical scale */ |
282 png_byte scal_unit; /* unit of physical scale */ |
283 png_charp scal_s_width; /* string containing height */ |
283 png_charp scal_s_width; /* string containing height */ |