< prev index next >

src/java.desktop/share/native/libsplashscreen/libpng/pngstruct.h

Print this page




  12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13  * version 2 for more details (a copy is included in the LICENSE file that
  14  * accompanied this code).
  15  *
  16  * You should have received a copy of the GNU General Public License version
  17  * 2 along with this work; if not, write to the Free Software Foundation,
  18  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19  *
  20  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21  * or visit www.oracle.com if you need additional information or have any
  22  * questions.
  23  */
  24 
  25 /* pngstruct.h - header file for PNG reference library
  26  *
  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.
  29  * However, the following notice accompanied the original version of this
  30  * file and, per its terms, should not be removed:
  31  *
  32  * Last changed in libpng 1.6.18 [July 23, 2015]
  33  * Copyright (c) 1998-2002,2004,2006-2015 Glenn Randers-Pehrson
  34  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  35  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  36  *
  37  * This code is released under the libpng license.
  38  * For conditions of distribution and use, see the disclaimer
  39  * and license in png.h
  40  */
  41 
  42 /* The structure that holds the information to read and write PNG files.
  43  * The only people who need to care about what is inside of this are the
  44  * people who will be modifying the library for their own special needs.
  45  * It should NOT be accessed directly by an application.
  46  */
  47 
  48 #ifndef PNGSTRUCT_H
  49 #define PNGSTRUCT_H
  50 /* zlib.h defines the structure z_stream, an instance of which is included
  51  * in this structure and is required for decompressing the LZ compressed
  52  * data in PNG files.
  53  */


 260    png_bytep try_row;    /* buffer to save trial row when filtering */
 261    png_bytep tst_row;    /* buffer to save best trial row when filtering */
 262 #endif
 263    png_size_t info_rowbytes;  /* Added in 1.5.4: cache of updated row bytes */
 264 
 265    png_uint_32 idat_size;     /* current IDAT size for read */
 266    png_uint_32 crc;           /* current chunk CRC value */
 267    png_colorp palette;        /* palette from the input file */
 268    png_uint_16 num_palette;   /* number of color entries in palette */
 269 
 270 /* Added at libpng-1.5.10 */
 271 #ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
 272    int num_palette_max;       /* maximum palette index found in IDAT */
 273 #endif
 274 
 275    png_uint_16 num_trans;     /* number of transparency values */
 276    png_byte compression;      /* file compression type (always 0) */
 277    png_byte filter;           /* file filter type (always 0) */
 278    png_byte interlaced;       /* PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
 279    png_byte pass;             /* current interlace pass (0 - 6) */
 280    png_byte do_filter;        /* row filter flags (see PNG_FILTER_ below ) */
 281    png_byte color_type;       /* color type of file */
 282    png_byte bit_depth;        /* bit depth of file */
 283    png_byte usr_bit_depth;    /* bit depth of users row: write only */
 284    png_byte pixel_depth;      /* number of bits per pixel */
 285    png_byte channels;         /* number of channels in file */
 286 #ifdef PNG_WRITE_SUPPORTED
 287    png_byte usr_channels;     /* channels at start of write: write only */
 288 #endif
 289    png_byte sig_bytes;        /* magic bytes read/written from start of file */
 290    png_byte maximum_pixel_depth;
 291                               /* pixel depth used for the row buffers */
 292    png_byte transformed_pixel_depth;
 293                               /* pixel depth after read/write transforms */
 294 #if PNG_ZLIB_VERNUM >= 0x1240
 295    png_byte zstream_start;    /* at start of an input zlib stream */
 296 #endif /* Zlib >= 1.2.4 */
 297 #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
 298    png_uint_16 filler;           /* filler bytes for pixel expansion */
 299 #endif
 300 
 301 #if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) ||\
 302    defined(PNG_READ_ALPHA_MODE_SUPPORTED)
 303    png_byte background_gamma_type;
 304    png_fixed_point background_gamma;
 305    png_color_16 background;   /* background color in screen gamma space */
 306 #ifdef PNG_READ_GAMMA_SUPPORTED
 307    png_color_16 background_1; /* background normalized to gamma 1.0 */
 308 #endif
 309 #endif /* bKGD */
 310 
 311 #ifdef PNG_WRITE_FLUSH_SUPPORTED
 312    png_flush_ptr output_flush_fn; /* Function for flushing output */
 313    png_uint_32 flush_dist;    /* how many rows apart to flush, 0 - no flush */
 314    png_uint_32 flush_rows;    /* number of rows written since last flush */


 364    int cur_palette;                  /* current push library palette index */
 365 
 366 #endif /* PROGRESSIVE_READ */
 367 
 368 #if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
 369 /* For the Borland special 64K segment handler */
 370    png_bytepp offset_table_ptr;
 371    png_bytep offset_table;
 372    png_uint_16 offset_table_number;
 373    png_uint_16 offset_table_count;
 374    png_uint_16 offset_table_count_free;
 375 #endif
 376 
 377 #ifdef PNG_READ_QUANTIZE_SUPPORTED
 378    png_bytep palette_lookup; /* lookup table for quantizing */
 379    png_bytep quantize_index; /* index translation for palette files */
 380 #endif
 381 
 382 /* Options */
 383 #ifdef PNG_SET_OPTION_SUPPORTED
 384    png_byte options;           /* On/off state (up to 4 options) */
 385 #endif
 386 
 387 #if PNG_LIBPNG_VER < 10700
 388 /* To do: remove this from libpng-1.7 */
 389 #ifdef PNG_TIME_RFC1123_SUPPORTED
 390    char time_buffer[29]; /* String to hold RFC 1123 time text */
 391 #endif
 392 #endif
 393 
 394 /* New members added in libpng-1.0.6 */
 395 
 396    png_uint_32 free_me;    /* flags items libpng is responsible for freeing */
 397 
 398 #ifdef PNG_USER_CHUNKS_SUPPORTED
 399    png_voidp user_chunk_ptr;
 400 #ifdef PNG_READ_USER_CHUNKS_SUPPORTED
 401    png_user_chunk_ptr read_user_chunk_fn; /* user read chunk handler */
 402 #endif
 403 #endif
 404 




  12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13  * version 2 for more details (a copy is included in the LICENSE file that
  14  * accompanied this code).
  15  *
  16  * You should have received a copy of the GNU General Public License version
  17  * 2 along with this work; if not, write to the Free Software Foundation,
  18  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19  *
  20  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21  * or visit www.oracle.com if you need additional information or have any
  22  * questions.
  23  */
  24 
  25 /* pngstruct.h - header file for PNG reference library
  26  *
  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.
  29  * However, the following notice accompanied the original version of this
  30  * file and, per its terms, should not be removed:
  31  *
  32  * Last changed in libpng 1.6.28 [January 5, 2017]
  33  * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  34  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  35  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  36  *
  37  * This code is released under the libpng license.
  38  * For conditions of distribution and use, see the disclaimer
  39  * and license in png.h
  40  */
  41 
  42 /* The structure that holds the information to read and write PNG files.
  43  * The only people who need to care about what is inside of this are the
  44  * people who will be modifying the library for their own special needs.
  45  * It should NOT be accessed directly by an application.
  46  */
  47 
  48 #ifndef PNGSTRUCT_H
  49 #define PNGSTRUCT_H
  50 /* zlib.h defines the structure z_stream, an instance of which is included
  51  * in this structure and is required for decompressing the LZ compressed
  52  * data in PNG files.
  53  */


 260    png_bytep try_row;    /* buffer to save trial row when filtering */
 261    png_bytep tst_row;    /* buffer to save best trial row when filtering */
 262 #endif
 263    png_size_t info_rowbytes;  /* Added in 1.5.4: cache of updated row bytes */
 264 
 265    png_uint_32 idat_size;     /* current IDAT size for read */
 266    png_uint_32 crc;           /* current chunk CRC value */
 267    png_colorp palette;        /* palette from the input file */
 268    png_uint_16 num_palette;   /* number of color entries in palette */
 269 
 270 /* Added at libpng-1.5.10 */
 271 #ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
 272    int num_palette_max;       /* maximum palette index found in IDAT */
 273 #endif
 274 
 275    png_uint_16 num_trans;     /* number of transparency values */
 276    png_byte compression;      /* file compression type (always 0) */
 277    png_byte filter;           /* file filter type (always 0) */
 278    png_byte interlaced;       /* PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
 279    png_byte pass;             /* current interlace pass (0 - 6) */
 280    png_byte do_filter;        /* row filter flags (see PNG_FILTER_ in png.h ) */
 281    png_byte color_type;       /* color type of file */
 282    png_byte bit_depth;        /* bit depth of file */
 283    png_byte usr_bit_depth;    /* bit depth of users row: write only */
 284    png_byte pixel_depth;      /* number of bits per pixel */
 285    png_byte channels;         /* number of channels in file */
 286 #ifdef PNG_WRITE_SUPPORTED
 287    png_byte usr_channels;     /* channels at start of write: write only */
 288 #endif
 289    png_byte sig_bytes;        /* magic bytes read/written from start of file */
 290    png_byte maximum_pixel_depth;
 291                               /* pixel depth used for the row buffers */
 292    png_byte transformed_pixel_depth;
 293                               /* pixel depth after read/write transforms */
 294 #if ZLIB_VERNUM >= 0x1240
 295    png_byte zstream_start;    /* at start of an input zlib stream */
 296 #endif /* Zlib >= 1.2.4 */
 297 #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
 298    png_uint_16 filler;           /* filler bytes for pixel expansion */
 299 #endif
 300 
 301 #if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) ||\
 302    defined(PNG_READ_ALPHA_MODE_SUPPORTED)
 303    png_byte background_gamma_type;
 304    png_fixed_point background_gamma;
 305    png_color_16 background;   /* background color in screen gamma space */
 306 #ifdef PNG_READ_GAMMA_SUPPORTED
 307    png_color_16 background_1; /* background normalized to gamma 1.0 */
 308 #endif
 309 #endif /* bKGD */
 310 
 311 #ifdef PNG_WRITE_FLUSH_SUPPORTED
 312    png_flush_ptr output_flush_fn; /* Function for flushing output */
 313    png_uint_32 flush_dist;    /* how many rows apart to flush, 0 - no flush */
 314    png_uint_32 flush_rows;    /* number of rows written since last flush */


 364    int cur_palette;                  /* current push library palette index */
 365 
 366 #endif /* PROGRESSIVE_READ */
 367 
 368 #if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
 369 /* For the Borland special 64K segment handler */
 370    png_bytepp offset_table_ptr;
 371    png_bytep offset_table;
 372    png_uint_16 offset_table_number;
 373    png_uint_16 offset_table_count;
 374    png_uint_16 offset_table_count_free;
 375 #endif
 376 
 377 #ifdef PNG_READ_QUANTIZE_SUPPORTED
 378    png_bytep palette_lookup; /* lookup table for quantizing */
 379    png_bytep quantize_index; /* index translation for palette files */
 380 #endif
 381 
 382 /* Options */
 383 #ifdef PNG_SET_OPTION_SUPPORTED
 384    png_uint_32 options;           /* On/off state (up to 16 options) */
 385 #endif
 386 
 387 #if PNG_LIBPNG_VER < 10700
 388 /* To do: remove this from libpng-1.7 */
 389 #ifdef PNG_TIME_RFC1123_SUPPORTED
 390    char time_buffer[29]; /* String to hold RFC 1123 time text */
 391 #endif
 392 #endif
 393 
 394 /* New members added in libpng-1.0.6 */
 395 
 396    png_uint_32 free_me;    /* flags items libpng is responsible for freeing */
 397 
 398 #ifdef PNG_USER_CHUNKS_SUPPORTED
 399    png_voidp user_chunk_ptr;
 400 #ifdef PNG_READ_USER_CHUNKS_SUPPORTED
 401    png_user_chunk_ptr read_user_chunk_fn; /* user read chunk handler */
 402 #endif
 403 #endif
 404 


< prev index next >