31 #include "../../../juce_core/zip/zlib/zlib.h"
40 #if ZLIB_VERNUM < 0x1260
41 # define PNGZ_MSG_CAST(s) png_constcast(char*,s)
42 # define PNGZ_INPUT_CAST(b) png_constcast(png_bytep,b)
44 # define PNGZ_MSG_CAST(s) (s)
45 # define PNGZ_INPUT_CAST(b) (b)
57 # define ZLIB_IO_MAX ((uInt)-1)
60 #ifdef PNG_WRITE_SUPPORTED
68 #define PNG_COMPRESSION_BUFFER_SIZE(pp)\
69 (offsetof(png_compression_buffer, output) + (pp)->zbuffer_size)
80 #ifdef PNG_COLORSPACE_SUPPORTED
103 #if defined(PNG_COLORSPACE_SUPPORTED) || defined(PNG_GAMMA_SUPPORTED)
115 #ifdef PNG_GAMMA_SUPPORTED
119 #ifdef PNG_COLORSPACE_SUPPORTED
132 #define PNG_COLORSPACE_HAVE_GAMMA 0x0001
133 #define PNG_COLORSPACE_HAVE_ENDPOINTS 0x0002
134 #define PNG_COLORSPACE_HAVE_INTENT 0x0004
135 #define PNG_COLORSPACE_FROM_gAMA 0x0008
136 #define PNG_COLORSPACE_FROM_cHRM 0x0010
137 #define PNG_COLORSPACE_FROM_sRGB 0x0020
138 #define PNG_COLORSPACE_ENDPOINTS_MATCH_sRGB 0x0040
139 #define PNG_COLORSPACE_MATCHES_sRGB 0x0080
140 #define PNG_COLORSPACE_INVALID 0x8000
141 #define PNG_COLORSPACE_CANCEL(flags) (0xffff ^ (flags))
146 #ifdef PNG_SETJMP_SUPPORTED
147 jmp_buf jmp_buf_local;
148 png_longjmp_ptr longjmp_fn;
149 jmp_buf *jmp_buf_ptr;
153 #ifdef PNG_WARNINGS_SUPPORTED
154 png_error_ptr warning_fn;
161 #ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
162 png_user_transform_ptr read_user_transform_fn;
165 #ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
166 png_user_transform_ptr write_user_transform_fn;
170 #ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED
171 #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
172 defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
174 png_byte user_transform_depth;
175 png_byte user_transform_channels;
186 #ifdef PNG_WRITE_SUPPORTED
187 png_compression_bufferp zbuffer_list;
192 int zlib_window_bits;
197 #ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
199 int zlib_text_method;
200 int zlib_text_window_bits;
201 int zlib_text_mem_level;
202 int zlib_text_strategy;
206 #ifdef PNG_WRITE_SUPPORTED
209 int zlib_set_window_bits;
210 int zlib_set_mem_level;
211 int zlib_set_strategy;
228 #ifdef PNG_WRITE_SUPPORTED
242 #ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
257 #ifdef PNG_WRITE_SUPPORTED
258 png_byte usr_channels;
265 #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
269 #if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) ||\
270 defined(PNG_READ_ALPHA_MODE_SUPPORTED)
271 png_byte background_gamma_type;
274 #ifdef PNG_READ_GAMMA_SUPPORTED
279 #ifdef PNG_WRITE_FLUSH_SUPPORTED
280 png_flush_ptr output_flush_fn;
285 #ifdef PNG_READ_GAMMA_SUPPORTED
291 #if defined(PNG_READ_BACKGROUND_SUPPORTED) || \
292 defined(PNG_READ_ALPHA_MODE_SUPPORTED) || \
293 defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
301 #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED)
305 #if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
309 #if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
310 || defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
317 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
318 png_progressive_info_ptr info_fn;
319 png_progressive_row_ptr row_fn;
320 png_progressive_end_ptr end_fn;
336 #if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
345 #ifdef PNG_READ_QUANTIZE_SUPPORTED
350 #ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
352 png_byte num_prev_filters;
361 #ifdef PNG_SET_OPTION_SUPPORTED
365 #if PNG_LIBPNG_VER < 10700
367 #ifdef PNG_TIME_RFC1123_SUPPORTED
368 char time_buffer[29];
376 #ifdef PNG_USER_CHUNKS_SUPPORTED
378 #ifdef PNG_READ_USER_CHUNKS_SUPPORTED
379 png_user_chunk_ptr read_user_chunk_fn;
383 #ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
385 unsigned int num_chunk_list;
391 #ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
392 png_byte rgb_to_gray_status;
394 png_byte rgb_to_gray_coefficients_set;
402 #if defined(PNG_MNG_FEATURES_SUPPORTED)
408 #ifdef PNG_MNG_FEATURES_SUPPORTED
409 png_byte filter_type;
415 #ifdef PNG_USER_MEM_SUPPORTED
417 png_malloc_ptr malloc_fn;
418 png_free_ptr free_fn;
424 #ifdef PNG_READ_QUANTIZE_SUPPORTED
436 #ifdef PNG_USER_LIMITS_SUPPORTED
452 #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
462 #ifdef PNG_READ_SUPPORTED
467 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED
471 #ifdef PNG_IO_STATE_SUPPORTED
483 #ifdef PNG_READ_SUPPORTED
484 #if defined(PNG_COLORSPACE_SUPPORTED) || defined(PNG_GAMMA_SUPPORTED)
png_size_t old_big_row_buf_size
Definition: pngstruct.h:460
png_const_structrp png_const_inforp double double double * red_Z
Definition: juce_PNGLoader.cpp:2126
png_error_ptr error_fn
Definition: pngstruct.h:152
void * png_voidp
Definition: pngconf.h:570
struct pnglibNamespace::png_compression_buffer png_compression_buffer
png_byte filter
Definition: pngstruct.h:248
png_structrp int heuristic_method
Definition: juce_PNGLoader.cpp:1678
z_stream zstream
Definition: pngstruct.h:184
png_uint_32 iwidth
Definition: pngstruct.h:219
png_rw_ptr read_data_fn
Definition: pngstruct.h:158
png_uint_32 row_number
Definition: pngstruct.h:220
png_voidp error_ptr
Definition: pngstruct.h:156
png_uint_16(PNGAPI png_get_uint_16)(png_const_bytep buf)
Definition: juce_PNGLoader.cpp:98
png_write_status_ptr write_row_fn
Definition: pngstruct.h:316
png_const_structrp png_const_inforp double double double double double double double * blue_X
Definition: juce_PNGLoader.cpp:2126
png_uint_32 width
Definition: pngstruct.h:214
png_byte * png_bytep
Definition: pngconf.h:572
png_size_t info_rowbytes
Definition: pngstruct.h:234
png_byte ** png_bytepp
Definition: pngconf.h:599
Definition: pngstruct.h:144
struct pnglibNamespace::png_colorspace png_colorspace
png_uint_32 crc
Definition: pngstruct.h:237
png_const_structrp png_const_inforp double double * red_Y
Definition: juce_PNGLoader.cpp:2126
png_uint_32 free_me
Definition: pngstruct.h:374
const png_colorspace *PNG_RESTRICT png_const_colorspacerp
Definition: juce_PNGLoader.cpp:130
png_byte transformed_pixel_depth
Definition: pngstruct.h:263
png_byte do_filter
Definition: pngstruct.h:251
png_byte color_type
Definition: pngstruct.h:252
png_size_t png_alloc_size_t
Definition: pngconf.h:550
png_uint_32 chunk_name
Definition: pngstruct.h:221
png_byte compression_type
Definition: pngstruct.h:434
png_const_structrp png_const_inforp double double double double double * green_Y
Definition: juce_PNGLoader.cpp:2126
png_bytep prev_row
Definition: pngstruct.h:222
png_bytep big_row_buf
Definition: pngstruct.h:422
png_colorp palette
Definition: pngstruct.h:238
png_uint_32 usr_width
Definition: pngstruct.h:217
there are legal restrictions on arithmetic coding Invalid progressive parameters caller expects u Cannot quantize more than d color components Adobe APP14 flags
Definition: juce_JPEGLoader.cpp:127
png_byte compression
Definition: pngstruct.h:247
png_structrp png_fixed_point screen_gamma
Definition: juce_PNGLoader.cpp:1517
png_const_structrp png_const_inforp double double double double double double double double * blue_Y
Definition: juce_PNGLoader.cpp:2126
png_rw_ptr write_data_fn
Definition: pngstruct.h:157
png_uint_32 flags
Definition: pngstruct.h:180
png_bytep row_buf
Definition: pngstruct.h:225
const png_byte * png_const_bytep
Definition: pngconf.h:573
png_uint_16 num_palette
Definition: pngstruct.h:239
struct pnglibNamespace::png_colorspace png_colorspacerp
png_structrp int int png_const_fixed_point_p filter_weights
Definition: juce_PNGLoader.cpp:1678
png_bytep big_prev_row
Definition: pngstruct.h:477
png_read_status_ptr read_row_fn
Definition: pngstruct.h:315
struct pnglibNamespace::png_unknown_chunk_t png_unknown_chunk
png_byte pixel_depth
Definition: pngstruct.h:255
png_voidp io_ptr
Definition: pngstruct.h:159
void(* read_filter[PNG_FILTER_VALUE_LAST-1])(png_row_infop row_info, png_bytep row, png_const_bytep prev_row)
Definition: pngstruct.h:480
png_uint_16 ** png_uint_16pp
Definition: pngconf.h:602
struct pnglibNamespace::png_xy png_xy
png_byte bit_depth
Definition: pngstruct.h:253
png_byte sig_bytes
Definition: pngstruct.h:260
png_byte channels
Definition: pngstruct.h:256
struct pnglibNamespace::png_compression_buffer * png_compression_bufferp
png_const_structrp png_const_inforp double double double double * green_X
Definition: juce_PNGLoader.cpp:2126
png_uint_16 * png_uint_16p
Definition: pngconf.h:578
png_uint_32 num_rows
Definition: pngstruct.h:216
void
Definition: juce_PNGLoader.cpp:1173
png_size_t rowbytes
Definition: pngstruct.h:218
png_uint_32 mode
Definition: pngstruct.h:179
struct pnglibNamespace::png_XYZ png_XYZ
J_COLOR_SPACE colorspace
Definition: jpeglib.h:917
png_byte maximum_pixel_depth
Definition: pngstruct.h:261
png_uint_16 num_trans
Definition: pngstruct.h:246
png_const_structrp png_const_inforp double double double double double double * green_Z
Definition: juce_PNGLoader.cpp:2126
png_uint_32 idat_size
Definition: pngstruct.h:236
png_int_32 png_fixed_point
Definition: pngconf.h:567
png_byte usr_bit_depth
Definition: pngstruct.h:254
size_t png_size_t
Definition: pngconf.h:515
png_uint_32
Definition: juce_PNGLoader.cpp:2126
png_const_structrp png_const_inforp double * red_X
Definition: juce_PNGLoader.cpp:2126
png_uint_32 height
Definition: pngstruct.h:215
png_uint_32 transformations
Definition: pngstruct.h:181
png_uint_32 zowner
Definition: pngstruct.h:183
png_byte interlaced
Definition: pngstruct.h:249
#define PNG_FILTER_VALUE_LAST
png_byte pass
Definition: pngstruct.h:250
unsigned int uInt
Definition: zconf.h:276