426 #define PNG_LIBPNG_VER_STRING "1.6.16" 427 #define PNG_HEADER_VERSION_STRING \ 428 " libpng version 1.6.16 - December 22, 2014\n" 430 #define PNG_LIBPNG_VER_SONUM 16 431 #define PNG_LIBPNG_VER_DLLNUM 16 434 #define PNG_LIBPNG_VER_MAJOR 1 435 #define PNG_LIBPNG_VER_MINOR 6 436 #define PNG_LIBPNG_VER_RELEASE 16 442 #define PNG_LIBPNG_VER_BUILD 0 445 #define PNG_LIBPNG_BUILD_ALPHA 1 446 #define PNG_LIBPNG_BUILD_BETA 2 447 #define PNG_LIBPNG_BUILD_RC 3 448 #define PNG_LIBPNG_BUILD_STABLE 4 449 #define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 452 #define PNG_LIBPNG_BUILD_PATCH 8 454 #define PNG_LIBPNG_BUILD_PRIVATE 16 456 #define PNG_LIBPNG_BUILD_SPECIAL 32 459 #define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE 467 #define PNG_LIBPNG_VER 10616 476 # include "pnglibconf.h" 479 #ifndef PNG_VERSION_INFO_ONLY 481 # include "pngconf.h" 498 #ifdef PNG_USER_PRIVATEBUILD 499 # define PNG_LIBPNG_BUILD_TYPE \ 500 (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_PRIVATE) 502 # ifdef PNG_LIBPNG_SPECIALBUILD 503 # define PNG_LIBPNG_BUILD_TYPE \ 504 (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_SPECIAL) 506 # define PNG_LIBPNG_BUILD_TYPE (PNG_LIBPNG_BUILD_BASE_TYPE) 510 #ifndef PNG_VERSION_INFO_ONLY 520 #define png_libpng_ver png_get_header_ver(NULL) 572 typedef char* png_libpng_version_1_6_16;
610 typedef png_struct * PNG_RESTRICT png_structrp;
611 typedef const png_struct * PNG_RESTRICT png_const_structrp;
612 typedef png_info * PNG_RESTRICT png_inforp;
613 typedef const png_info * PNG_RESTRICT png_const_inforp;
663 png_uint_16 frequency;
678 png_sPLT_entryp entries;
685 #ifdef PNG_TEXT_SUPPORTED 713 png_size_t text_length;
714 png_size_t itxt_length;
727 #define PNG_TEXT_COMPRESSION_NONE_WR -3 728 #define PNG_TEXT_COMPRESSION_zTXt_WR -2 729 #define PNG_TEXT_COMPRESSION_NONE -1 730 #define PNG_TEXT_COMPRESSION_zTXt 0 731 #define PNG_ITXT_COMPRESSION_NONE 1 732 #define PNG_ITXT_COMPRESSION_zTXt 2 733 #define PNG_TEXT_COMPRESSION_LAST 3 754 #if defined(PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED) ||\ 755 defined(PNG_USER_CHUNKS_SUPPORTED) 785 #define PNG_HAVE_IHDR 0x01 786 #define PNG_HAVE_PLTE 0x02 787 #define PNG_AFTER_IDAT 0x08 790 #define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL) 791 #define PNG_UINT_32_MAX ((png_uint_32)(-1)) 792 #define PNG_SIZE_MAX ((png_size_t)(-1)) 797 #define PNG_FP_1 100000 798 #define PNG_FP_HALF 50000 799 #define PNG_FP_MAX ((png_fixed_point)0x7fffffffL) 800 #define PNG_FP_MIN (-PNG_FP_MAX) 804 #define PNG_COLOR_MASK_PALETTE 1 805 #define PNG_COLOR_MASK_COLOR 2 806 #define PNG_COLOR_MASK_ALPHA 4 809 #define PNG_COLOR_TYPE_GRAY 0 810 #define PNG_COLOR_TYPE_PALETTE (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_PALETTE) 811 #define PNG_COLOR_TYPE_RGB (PNG_COLOR_MASK_COLOR) 812 #define PNG_COLOR_TYPE_RGB_ALPHA (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA) 813 #define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA) 815 #define PNG_COLOR_TYPE_RGBA PNG_COLOR_TYPE_RGB_ALPHA 816 #define PNG_COLOR_TYPE_GA PNG_COLOR_TYPE_GRAY_ALPHA 819 #define PNG_COMPRESSION_TYPE_BASE 0 820 #define PNG_COMPRESSION_TYPE_DEFAULT PNG_COMPRESSION_TYPE_BASE 823 #define PNG_FILTER_TYPE_BASE 0 824 #define PNG_INTRAPIXEL_DIFFERENCING 64 825 #define PNG_FILTER_TYPE_DEFAULT PNG_FILTER_TYPE_BASE 828 #define PNG_INTERLACE_NONE 0 829 #define PNG_INTERLACE_ADAM7 1 830 #define PNG_INTERLACE_LAST 2 833 #define PNG_OFFSET_PIXEL 0 834 #define PNG_OFFSET_MICROMETER 1 835 #define PNG_OFFSET_LAST 2 838 #define PNG_EQUATION_LINEAR 0 839 #define PNG_EQUATION_BASE_E 1 840 #define PNG_EQUATION_ARBITRARY 2 841 #define PNG_EQUATION_HYPERBOLIC 3 842 #define PNG_EQUATION_LAST 4 845 #define PNG_SCALE_UNKNOWN 0 846 #define PNG_SCALE_METER 1 847 #define PNG_SCALE_RADIAN 2 848 #define PNG_SCALE_LAST 3 851 #define PNG_RESOLUTION_UNKNOWN 0 852 #define PNG_RESOLUTION_METER 1 853 #define PNG_RESOLUTION_LAST 2 856 #define PNG_sRGB_INTENT_PERCEPTUAL 0 857 #define PNG_sRGB_INTENT_RELATIVE 1 858 #define PNG_sRGB_INTENT_SATURATION 2 859 #define PNG_sRGB_INTENT_ABSOLUTE 3 860 #define PNG_sRGB_INTENT_LAST 4 863 #define PNG_KEYWORD_MAX_LENGTH 79 866 #define PNG_MAX_PALETTE_LENGTH 256 873 #define PNG_INFO_gAMA 0x0001 874 #define PNG_INFO_sBIT 0x0002 875 #define PNG_INFO_cHRM 0x0004 876 #define PNG_INFO_PLTE 0x0008 877 #define PNG_INFO_tRNS 0x0010 878 #define PNG_INFO_bKGD 0x0020 879 #define PNG_INFO_hIST 0x0040 880 #define PNG_INFO_pHYs 0x0080 881 #define PNG_INFO_oFFs 0x0100 882 #define PNG_INFO_tIME 0x0200 883 #define PNG_INFO_pCAL 0x0400 884 #define PNG_INFO_sRGB 0x0800 885 #define PNG_INFO_iCCP 0x1000 886 #define PNG_INFO_sPLT 0x2000 887 #define PNG_INFO_sCAL 0x4000 888 #define PNG_INFO_IDAT 0x8000 901 png_byte pixel_depth;
915 typedef PNG_CALLBACK(
void, *png_error_ptr, (png_structp, png_const_charp));
916 typedef PNG_CALLBACK(
void, *png_rw_ptr, (png_structp, png_bytep, png_size_t));
917 typedef PNG_CALLBACK(
void, *png_flush_ptr, (png_structp));
918 typedef PNG_CALLBACK(
void, *png_read_status_ptr, (png_structp, png_uint_32,
920 typedef PNG_CALLBACK(
void, *png_write_status_ptr, (png_structp, png_uint_32,
923 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED 924 typedef PNG_CALLBACK(
void, *png_progressive_info_ptr, (png_structp, png_infop));
925 typedef PNG_CALLBACK(
void, *png_progressive_end_ptr, (png_structp, png_infop));
937 typedef PNG_CALLBACK(
void, *png_progressive_row_ptr, (png_structp, png_bytep,
941 #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ 942 defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) 943 typedef PNG_CALLBACK(
void, *png_user_transform_ptr, (png_structp, png_row_infop,
947 #ifdef PNG_USER_CHUNKS_SUPPORTED 948 typedef PNG_CALLBACK(
int, *png_user_chunk_ptr, (png_structp,
949 png_unknown_chunkp));
951 #ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED 956 #ifdef PNG_SETJMP_SUPPORTED 968 PNG_FUNCTION(
void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf,
int)),
typedef);
972 #define PNG_TRANSFORM_IDENTITY 0x0000 973 #define PNG_TRANSFORM_STRIP_16 0x0001 974 #define PNG_TRANSFORM_STRIP_ALPHA 0x0002 975 #define PNG_TRANSFORM_PACKING 0x0004 976 #define PNG_TRANSFORM_PACKSWAP 0x0008 977 #define PNG_TRANSFORM_EXPAND 0x0010 978 #define PNG_TRANSFORM_INVERT_MONO 0x0020 979 #define PNG_TRANSFORM_SHIFT 0x0040 980 #define PNG_TRANSFORM_BGR 0x0080 981 #define PNG_TRANSFORM_SWAP_ALPHA 0x0100 982 #define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 983 #define PNG_TRANSFORM_INVERT_ALPHA 0x0400 984 #define PNG_TRANSFORM_STRIP_FILLER 0x0800 986 #define PNG_TRANSFORM_STRIP_FILLER_BEFORE PNG_TRANSFORM_STRIP_FILLER 987 #define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 989 #define PNG_TRANSFORM_GRAY_TO_RGB 0x2000 991 #define PNG_TRANSFORM_EXPAND_16 0x4000 992 #define PNG_TRANSFORM_SCALE_16 0x8000 995 #define PNG_FLAG_MNG_EMPTY_PLTE 0x01 996 #define PNG_FLAG_MNG_FILTER_64 0x04 997 #define PNG_ALL_MNG_FEATURES 0x05 1005 typedef PNG_CALLBACK(png_voidp, *png_malloc_ptr, (png_structp,
1007 typedef PNG_CALLBACK(
void, *png_free_ptr, (png_structp, png_voidp));
1039 PNG_EXPORT(1, png_uint_32, png_access_version_number, (
void));
1044 PNG_EXPORT(2,
void, png_set_sig_bytes, (png_structrp png_ptr,
int num_bytes));
1051 PNG_EXPORT(3,
int, png_sig_cmp, (png_const_bytep sig, png_size_t start,
1052 png_size_t num_to_check));
1057 #define png_check_sig(sig, n) !png_sig_cmp((sig), 0, (n)) 1060 PNG_EXPORTA(4, png_structp, png_create_read_struct,
1061 (png_const_charp user_png_ver, png_voidp error_ptr,
1062 png_error_ptr error_fn, png_error_ptr warn_fn),
1066 PNG_EXPORTA(5, png_structp, png_create_write_struct,
1067 (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn,
1068 png_error_ptr warn_fn),
1071 PNG_EXPORT(6, png_size_t, png_get_compression_buffer_size,
1072 (png_const_structrp png_ptr));
1074 PNG_EXPORT(7,
void, png_set_compression_buffer_size, (png_structrp png_ptr,
1080 #ifdef PNG_SETJMP_SUPPORTED 1088 PNG_EXPORT(8, jmp_buf*, png_set_longjmp_fn, (png_structrp png_ptr,
1089 png_longjmp_ptr longjmp_fn,
size_t jmp_buf_size));
1090 # define png_jmpbuf(png_ptr) \ 1091 (*png_set_longjmp_fn((png_ptr), longjmp, (sizeof (jmp_buf)))) 1093 # define png_jmpbuf(png_ptr) \ 1094 (LIBPNG_WAS_COMPILED_WITH__PNG_NO_SETJMP) 1101 PNG_EXPORTA(9,
void, png_longjmp, (png_const_structrp png_ptr,
int val),
1104 #ifdef PNG_READ_SUPPORTED 1106 PNG_EXPORTA(10,
int, png_reset_zstream, (png_structrp png_ptr), PNG_DEPRECATED);
1110 #ifdef PNG_USER_MEM_SUPPORTED 1111 PNG_EXPORTA(11, png_structp, png_create_read_struct_2,
1112 (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn,
1113 png_error_ptr warn_fn,
1114 png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn),
1116 PNG_EXPORTA(12, png_structp, png_create_write_struct_2,
1117 (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn,
1118 png_error_ptr warn_fn,
1119 png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn),
1124 PNG_EXPORT(13,
void, png_write_sig, (png_structrp png_ptr));
1127 PNG_EXPORT(14,
void, png_write_chunk, (png_structrp png_ptr, png_const_bytep
1128 chunk_name, png_const_bytep data, png_size_t length));
1131 PNG_EXPORT(15,
void, png_write_chunk_start, (png_structrp png_ptr,
1132 png_const_bytep chunk_name, png_uint_32 length));
1135 PNG_EXPORT(16,
void, png_write_chunk_data, (png_structrp png_ptr,
1136 png_const_bytep data, png_size_t length));
1139 PNG_EXPORT(17,
void, png_write_chunk_end, (png_structrp png_ptr));
1142 PNG_EXPORTA(18, png_infop, png_create_info_struct, (png_const_structrp png_ptr),
1149 PNG_EXPORTA(19,
void, png_info_init_3, (png_infopp info_ptr,
1150 png_size_t png_info_struct_size), PNG_DEPRECATED);
1153 PNG_EXPORT(20,
void, png_write_info_before_PLTE,
1154 (png_structrp png_ptr, png_const_inforp info_ptr));
1155 PNG_EXPORT(21,
void, png_write_info,
1156 (png_structrp png_ptr, png_const_inforp info_ptr));
1158 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED 1160 PNG_EXPORT(22,
void, png_read_info,
1161 (png_structrp png_ptr, png_inforp info_ptr));
1164 #ifdef PNG_TIME_RFC1123_SUPPORTED 1169 #if PNG_LIBPNG_VER < 10700 1171 PNG_EXPORTA(23, png_const_charp, png_convert_to_rfc1123, (png_structrp png_ptr,
1172 png_const_timep ptime),PNG_DEPRECATED);
1174 PNG_EXPORT(241,
int, png_convert_to_rfc1123_buffer, (
char out[29],
1175 png_const_timep ptime));
1178 #ifdef PNG_CONVERT_tIME_SUPPORTED 1180 PNG_EXPORT(24,
void, png_convert_from_struct_tm, (png_timep ptime,
1181 const struct tm * ttime));
1184 PNG_EXPORT(25,
void, png_convert_from_time_t, (png_timep ptime, time_t ttime));
1187 #ifdef PNG_READ_EXPAND_SUPPORTED 1189 PNG_EXPORT(26,
void, png_set_expand, (png_structrp png_ptr));
1190 PNG_EXPORT(27,
void, png_set_expand_gray_1_2_4_to_8, (png_structrp png_ptr));
1191 PNG_EXPORT(28,
void, png_set_palette_to_rgb, (png_structrp png_ptr));
1192 PNG_EXPORT(29,
void, png_set_tRNS_to_alpha, (png_structrp png_ptr));
1195 #ifdef PNG_READ_EXPAND_16_SUPPORTED 1199 PNG_EXPORT(221,
void, png_set_expand_16, (png_structrp png_ptr));
1202 #if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) 1204 PNG_EXPORT(30,
void, png_set_bgr, (png_structrp png_ptr));
1207 #ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED 1209 PNG_EXPORT(31,
void, png_set_gray_to_rgb, (png_structrp png_ptr));
1212 #ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED 1214 #define PNG_ERROR_ACTION_NONE 1 1215 #define PNG_ERROR_ACTION_WARN 2 1216 #define PNG_ERROR_ACTION_ERROR 3 1217 #define PNG_RGB_TO_GRAY_DEFAULT (-1) 1219 PNG_FP_EXPORT(32,
void, png_set_rgb_to_gray, (png_structrp png_ptr,
1220 int error_action,
double red,
double green))
1221 PNG_FIXED_EXPORT(33,
void, png_set_rgb_to_gray_fixed, (png_structrp png_ptr,
1222 int error_action, png_fixed_point red, png_fixed_point green))
1224 PNG_EXPORT(34, png_byte, png_get_rgb_to_gray_status, (png_const_structrp
1228 #ifdef PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED 1229 PNG_EXPORT(35,
void, png_build_grayscale_palette, (
int bit_depth,
1230 png_colorp palette));
1233 #ifdef PNG_READ_ALPHA_MODE_SUPPORTED 1268 #define PNG_ALPHA_PNG 0 1269 #define PNG_ALPHA_STANDARD 1 1270 #define PNG_ALPHA_ASSOCIATED 1 1271 #define PNG_ALPHA_PREMULTIPLIED 1 1272 #define PNG_ALPHA_OPTIMIZED 2 1273 #define PNG_ALPHA_BROKEN 3 1275 PNG_FP_EXPORT(227,
void, png_set_alpha_mode, (png_structrp png_ptr,
int mode,
1276 double output_gamma))
1277 PNG_FIXED_EXPORT(228,
void, png_set_alpha_mode_fixed, (png_structrp png_ptr,
1278 int mode, png_fixed_point output_gamma))
1281 #if defined(PNG_GAMMA_SUPPORTED) || defined(PNG_READ_ALPHA_MODE_SUPPORTED) 1285 #define PNG_DEFAULT_sRGB -1 1286 #define PNG_GAMMA_MAC_18 -2 1287 #define PNG_GAMMA_sRGB 220000 1288 #define PNG_GAMMA_LINEAR PNG_FP_1 1367 #ifdef PNG_READ_STRIP_ALPHA_SUPPORTED 1368 PNG_EXPORT(36,
void, png_set_strip_alpha, (png_structrp png_ptr));
1371 #if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \ 1372 defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) 1373 PNG_EXPORT(37,
void, png_set_swap_alpha, (png_structrp png_ptr));
1376 #if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \ 1377 defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) 1378 PNG_EXPORT(38,
void, png_set_invert_alpha, (png_structrp png_ptr));
1381 #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) 1383 PNG_EXPORT(39,
void, png_set_filler, (png_structrp png_ptr, png_uint_32 filler,
1386 # define PNG_FILLER_BEFORE 0 1387 # define PNG_FILLER_AFTER 1 1389 PNG_EXPORT(40,
void, png_set_add_alpha, (png_structrp png_ptr,
1390 png_uint_32 filler,
int flags));
1393 #if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) 1395 PNG_EXPORT(41,
void, png_set_swap, (png_structrp png_ptr));
1398 #if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) 1400 PNG_EXPORT(42,
void, png_set_packing, (png_structrp png_ptr));
1403 #if defined(PNG_READ_PACKSWAP_SUPPORTED) || \ 1404 defined(PNG_WRITE_PACKSWAP_SUPPORTED) 1406 PNG_EXPORT(43,
void, png_set_packswap, (png_structrp png_ptr));
1409 #if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) 1411 PNG_EXPORT(44,
void, png_set_shift, (png_structrp png_ptr, png_const_color_8p
1415 #if defined(PNG_READ_INTERLACING_SUPPORTED) || \ 1416 defined(PNG_WRITE_INTERLACING_SUPPORTED) 1423 PNG_EXPORT(45,
int, png_set_interlace_handling, (png_structrp png_ptr));
1426 #if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) 1428 PNG_EXPORT(46,
void, png_set_invert_mono, (png_structrp png_ptr));
1431 #ifdef PNG_READ_BACKGROUND_SUPPORTED 1437 PNG_FP_EXPORT(47,
void, png_set_background, (png_structrp png_ptr,
1438 png_const_color_16p background_color,
int background_gamma_code,
1439 int need_expand,
double background_gamma))
1440 PNG_FIXED_EXPORT(215,
void, png_set_background_fixed, (png_structrp png_ptr,
1441 png_const_color_16p background_color,
int background_gamma_code,
1442 int need_expand, png_fixed_point background_gamma))
1444 #ifdef PNG_READ_BACKGROUND_SUPPORTED 1445 # define PNG_BACKGROUND_GAMMA_UNKNOWN 0 1446 # define PNG_BACKGROUND_GAMMA_SCREEN 1 1447 # define PNG_BACKGROUND_GAMMA_FILE 2 1448 # define PNG_BACKGROUND_GAMMA_UNIQUE 3 1451 #ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED 1453 PNG_EXPORT(229,
void, png_set_scale_16, (png_structrp png_ptr));
1456 #ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED 1457 #define PNG_READ_16_TO_8 SUPPORTED 1459 PNG_EXPORT(48,
void, png_set_strip_16, (png_structrp png_ptr));
1462 #ifdef PNG_READ_QUANTIZE_SUPPORTED 1466 PNG_EXPORT(49,
void, png_set_quantize, (png_structrp png_ptr,
1467 png_colorp palette,
int num_palette,
int maximum_colors,
1468 png_const_uint_16p histogram,
int full_quantize));
1471 #ifdef PNG_READ_GAMMA_SUPPORTED 1475 #define PNG_GAMMA_THRESHOLD (PNG_GAMMA_THRESHOLD_FIXED*.00001) 1488 PNG_FP_EXPORT(50,
void, png_set_gamma, (png_structrp png_ptr,
1489 double screen_gamma,
double override_file_gamma))
1490 PNG_FIXED_EXPORT(208,
void, png_set_gamma_fixed, (png_structrp png_ptr,
1491 png_fixed_point screen_gamma, png_fixed_point override_file_gamma))
1494 #ifdef PNG_WRITE_FLUSH_SUPPORTED 1496 PNG_EXPORT(51,
void, png_set_flush, (png_structrp png_ptr,
int nrows));
1498 PNG_EXPORT(52,
void, png_write_flush, (png_structrp png_ptr));
1502 PNG_EXPORT(53,
void, png_start_read_image, (png_structrp png_ptr));
1505 PNG_EXPORT(54,
void, png_read_update_info, (png_structrp png_ptr,
1506 png_inforp info_ptr));
1508 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED 1510 PNG_EXPORT(55,
void, png_read_rows, (png_structrp png_ptr, png_bytepp row,
1511 png_bytepp display_row, png_uint_32 num_rows));
1514 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED 1516 PNG_EXPORT(56,
void, png_read_row, (png_structrp png_ptr, png_bytep row,
1517 png_bytep display_row));
1520 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED 1522 PNG_EXPORT(57,
void, png_read_image, (png_structrp png_ptr, png_bytepp image));
1526 PNG_EXPORT(58,
void, png_write_row, (png_structrp png_ptr,
1527 png_const_bytep row));
1534 PNG_EXPORT(59,
void, png_write_rows, (png_structrp png_ptr, png_bytepp row,
1535 png_uint_32 num_rows));
1538 PNG_EXPORT(60,
void, png_write_image, (png_structrp png_ptr, png_bytepp image));
1541 PNG_EXPORT(61,
void, png_write_end, (png_structrp png_ptr,
1542 png_inforp info_ptr));
1544 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED 1546 PNG_EXPORT(62,
void, png_read_end, (png_structrp png_ptr, png_inforp info_ptr));
1550 PNG_EXPORT(63,
void, png_destroy_info_struct, (png_const_structrp png_ptr,
1551 png_infopp info_ptr_ptr));
1554 PNG_EXPORT(64,
void, png_destroy_read_struct, (png_structpp png_ptr_ptr,
1555 png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr));
1558 PNG_EXPORT(65,
void, png_destroy_write_struct, (png_structpp png_ptr_ptr,
1559 png_infopp info_ptr_ptr));
1562 PNG_EXPORT(66,
void, png_set_crc_action, (png_structrp png_ptr,
int crit_action,
1574 #define PNG_CRC_DEFAULT 0 1575 #define PNG_CRC_ERROR_QUIT 1 1576 #define PNG_CRC_WARN_DISCARD 2 1577 #define PNG_CRC_WARN_USE 3 1578 #define PNG_CRC_QUIET_USE 4 1579 #define PNG_CRC_NO_CHANGE 5 1592 PNG_EXPORT(67,
void, png_set_filter, (png_structrp png_ptr,
int method,
1600 #define PNG_NO_FILTERS 0x00 1601 #define PNG_FILTER_NONE 0x08 1602 #define PNG_FILTER_SUB 0x10 1603 #define PNG_FILTER_UP 0x20 1604 #define PNG_FILTER_AVG 0x40 1605 #define PNG_FILTER_PAETH 0x80 1606 #define PNG_ALL_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP | \ 1607 PNG_FILTER_AVG | PNG_FILTER_PAETH) 1612 #define PNG_FILTER_VALUE_NONE 0 1613 #define PNG_FILTER_VALUE_SUB 1 1614 #define PNG_FILTER_VALUE_UP 2 1615 #define PNG_FILTER_VALUE_AVG 3 1616 #define PNG_FILTER_VALUE_PAETH 4 1617 #define PNG_FILTER_VALUE_LAST 5 1619 #ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED 1648 PNG_FP_EXPORT(68,
void, png_set_filter_heuristics, (png_structrp png_ptr,
1649 int heuristic_method,
int num_weights, png_const_doublep filter_weights,
1650 png_const_doublep filter_costs))
1651 PNG_FIXED_EXPORT(209,
void, png_set_filter_heuristics_fixed,
1652 (png_structrp png_ptr,
int heuristic_method,
int num_weights,
1653 png_const_fixed_point_p filter_weights,
1654 png_const_fixed_point_p filter_costs))
1660 #define PNG_FILTER_HEURISTIC_DEFAULT 0 1661 #define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 1662 #define PNG_FILTER_HEURISTIC_WEIGHTED 2 1663 #define PNG_FILTER_HEURISTIC_LAST 3 1665 #ifdef PNG_WRITE_SUPPORTED 1673 PNG_EXPORT(69,
void, png_set_compression_level, (png_structrp png_ptr,
1676 PNG_EXPORT(70,
void, png_set_compression_mem_level, (png_structrp png_ptr,
1679 PNG_EXPORT(71,
void, png_set_compression_strategy, (png_structrp png_ptr,
1685 PNG_EXPORT(72,
void, png_set_compression_window_bits, (png_structrp png_ptr,
1688 PNG_EXPORT(73,
void, png_set_compression_method, (png_structrp png_ptr,
1692 #ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED 1694 PNG_EXPORT(222,
void, png_set_text_compression_level, (png_structrp png_ptr,
1697 PNG_EXPORT(223,
void, png_set_text_compression_mem_level, (png_structrp png_ptr,
1700 PNG_EXPORT(224,
void, png_set_text_compression_strategy, (png_structrp png_ptr,
1706 PNG_EXPORT(225,
void, png_set_text_compression_window_bits,
1707 (png_structrp png_ptr,
int window_bits));
1709 PNG_EXPORT(226,
void, png_set_text_compression_method, (png_structrp png_ptr,
1722 #ifdef PNG_STDIO_SUPPORTED 1724 PNG_EXPORT(74,
void, png_init_io, (png_structrp png_ptr, png_FILE_p fp));
1735 PNG_EXPORT(75,
void, png_set_error_fn, (png_structrp png_ptr,
1736 png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn));
1739 PNG_EXPORT(76, png_voidp, png_get_error_ptr, (png_const_structrp png_ptr));
1751 PNG_EXPORT(77,
void, png_set_write_fn, (png_structrp png_ptr, png_voidp io_ptr,
1752 png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn));
1755 PNG_EXPORT(78,
void, png_set_read_fn, (png_structrp png_ptr, png_voidp io_ptr,
1756 png_rw_ptr read_data_fn));
1759 PNG_EXPORT(79, png_voidp, png_get_io_ptr, (png_const_structrp png_ptr));
1761 PNG_EXPORT(80,
void, png_set_read_status_fn, (png_structrp png_ptr,
1762 png_read_status_ptr read_row_fn));
1764 PNG_EXPORT(81,
void, png_set_write_status_fn, (png_structrp png_ptr,
1765 png_write_status_ptr write_row_fn));
1767 #ifdef PNG_USER_MEM_SUPPORTED 1769 PNG_EXPORT(82,
void, png_set_mem_fn, (png_structrp png_ptr, png_voidp mem_ptr,
1770 png_malloc_ptr malloc_fn, png_free_ptr free_fn));
1772 PNG_EXPORT(83, png_voidp, png_get_mem_ptr, (png_const_structrp png_ptr));
1775 #ifdef PNG_READ_USER_TRANSFORM_SUPPORTED 1776 PNG_EXPORT(84,
void, png_set_read_user_transform_fn, (png_structrp png_ptr,
1777 png_user_transform_ptr read_user_transform_fn));
1780 #ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED 1781 PNG_EXPORT(85,
void, png_set_write_user_transform_fn, (png_structrp png_ptr,
1782 png_user_transform_ptr write_user_transform_fn));
1785 #ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED 1786 PNG_EXPORT(86,
void, png_set_user_transform_info, (png_structrp png_ptr,
1787 png_voidp user_transform_ptr,
int user_transform_depth,
1788 int user_transform_channels));
1790 PNG_EXPORT(87, png_voidp, png_get_user_transform_ptr,
1791 (png_const_structrp png_ptr));
1794 #ifdef PNG_USER_TRANSFORM_INFO_SUPPORTED 1806 PNG_EXPORT(217, png_uint_32, png_get_current_row_number, (png_const_structrp));
1807 PNG_EXPORT(218, png_byte, png_get_current_pass_number, (png_const_structrp));
1810 #ifdef PNG_READ_USER_CHUNKS_SUPPORTED 1830 PNG_EXPORT(88,
void, png_set_read_user_chunk_fn, (png_structrp png_ptr,
1831 png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn));
1834 #ifdef PNG_USER_CHUNKS_SUPPORTED 1835 PNG_EXPORT(89, png_voidp, png_get_user_chunk_ptr, (png_const_structrp png_ptr));
1838 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED 1842 PNG_EXPORT(90,
void, png_set_progressive_read_fn, (png_structrp png_ptr,
1843 png_voidp progressive_ptr, png_progressive_info_ptr info_fn,
1844 png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn));
1847 PNG_EXPORT(91, png_voidp, png_get_progressive_ptr,
1848 (png_const_structrp png_ptr));
1851 PNG_EXPORT(92,
void, png_process_data, (png_structrp png_ptr,
1852 png_inforp info_ptr, png_bytep buffer, png_size_t buffer_size));
1861 PNG_EXPORT(219, png_size_t, png_process_data_pause, (png_structrp,
int save));
1869 PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp));
1876 PNG_EXPORT(93,
void, png_progressive_combine_row, (png_const_structrp png_ptr,
1877 png_bytep old_row, png_const_bytep new_row));
1880 PNG_EXPORTA(94, png_voidp, png_malloc, (png_const_structrp png_ptr,
1881 png_alloc_size_t size), PNG_ALLOCATED);
1883 PNG_EXPORTA(95, png_voidp, png_calloc, (png_const_structrp png_ptr,
1884 png_alloc_size_t size), PNG_ALLOCATED);
1887 PNG_EXPORTA(96, png_voidp, png_malloc_warn, (png_const_structrp png_ptr,
1888 png_alloc_size_t size), PNG_ALLOCATED);
1891 PNG_EXPORT(97,
void, png_free, (png_const_structrp png_ptr, png_voidp ptr));
1894 PNG_EXPORT(98,
void, png_free_data, (png_const_structrp png_ptr,
1895 png_inforp info_ptr, png_uint_32 free_me,
int num));
1904 PNG_EXPORT(99,
void, png_data_freer, (png_const_structrp png_ptr,
1905 png_inforp info_ptr,
int freer, png_uint_32 mask));
1908 #define PNG_DESTROY_WILL_FREE_DATA 1 1909 #define PNG_SET_WILL_FREE_DATA 1 1910 #define PNG_USER_WILL_FREE_DATA 2 1912 #define PNG_FREE_HIST 0x0008 1913 #define PNG_FREE_ICCP 0x0010 1914 #define PNG_FREE_SPLT 0x0020 1915 #define PNG_FREE_ROWS 0x0040 1916 #define PNG_FREE_PCAL 0x0080 1917 #define PNG_FREE_SCAL 0x0100 1918 #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED 1919 # define PNG_FREE_UNKN 0x0200 1922 #define PNG_FREE_PLTE 0x1000 1923 #define PNG_FREE_TRNS 0x2000 1924 #define PNG_FREE_TEXT 0x4000 1925 #define PNG_FREE_ALL 0x7fff 1926 #define PNG_FREE_MUL 0x4220 1928 #ifdef PNG_USER_MEM_SUPPORTED 1929 PNG_EXPORTA(100, png_voidp, png_malloc_default, (png_const_structrp png_ptr,
1930 png_alloc_size_t size), PNG_ALLOCATED PNG_DEPRECATED);
1931 PNG_EXPORTA(101,
void, png_free_default, (png_const_structrp png_ptr,
1932 png_voidp ptr), PNG_DEPRECATED);
1935 #ifdef PNG_ERROR_TEXT_SUPPORTED 1937 PNG_EXPORTA(102,
void, png_error, (png_const_structrp png_ptr,
1938 png_const_charp error_message), PNG_NORETURN);
1941 PNG_EXPORTA(103,
void, png_chunk_error, (png_const_structrp png_ptr,
1942 png_const_charp error_message), PNG_NORETURN);
1946 PNG_EXPORTA(104,
void, png_err, (png_const_structrp png_ptr), PNG_NORETURN);
1947 # define png_error(s1,s2) png_err(s1) 1948 # define png_chunk_error(s1,s2) png_err(s1) 1951 #ifdef PNG_WARNINGS_SUPPORTED 1953 PNG_EXPORT(105,
void, png_warning, (png_const_structrp png_ptr,
1954 png_const_charp warning_message));
1957 PNG_EXPORT(106,
void, png_chunk_warning, (png_const_structrp png_ptr,
1958 png_const_charp warning_message));
1960 # define png_warning(s1,s2) ((void)(s1)) 1961 # define png_chunk_warning(s1,s2) ((void)(s1)) 1964 #ifdef PNG_BENIGN_ERRORS_SUPPORTED 1967 PNG_EXPORT(107,
void, png_benign_error, (png_const_structrp png_ptr,
1968 png_const_charp warning_message));
1970 #ifdef PNG_READ_SUPPORTED 1972 PNG_EXPORT(108,
void, png_chunk_benign_error, (png_const_structrp png_ptr,
1973 png_const_charp warning_message));
1976 PNG_EXPORT(109,
void, png_set_benign_errors,
1977 (png_structrp png_ptr,
int allowed));
1979 # ifdef PNG_ALLOW_BENIGN_ERRORS 1980 # define png_benign_error png_warning 1981 # define png_chunk_benign_error png_chunk_warning 1983 # define png_benign_error png_error 1984 # define png_chunk_benign_error png_chunk_error 2001 PNG_EXPORT(110, png_uint_32, png_get_valid, (png_const_structrp png_ptr,
2002 png_const_inforp info_ptr, png_uint_32 flag));
2005 PNG_EXPORT(111, png_size_t, png_get_rowbytes, (png_const_structrp png_ptr,
2006 png_const_inforp info_ptr));
2008 #ifdef PNG_INFO_IMAGE_SUPPORTED 2012 PNG_EXPORT(112, png_bytepp, png_get_rows, (png_const_structrp png_ptr,
2013 png_const_inforp info_ptr));
2018 PNG_EXPORT(113,
void, png_set_rows, (png_const_structrp png_ptr,
2019 png_inforp info_ptr, png_bytepp row_pointers));
2023 PNG_EXPORT(114, png_byte, png_get_channels, (png_const_structrp png_ptr,
2024 png_const_inforp info_ptr));
2026 #ifdef PNG_EASY_ACCESS_SUPPORTED 2028 PNG_EXPORT(115, png_uint_32, png_get_image_width, (png_const_structrp png_ptr,
2029 png_const_inforp info_ptr));
2032 PNG_EXPORT(116, png_uint_32, png_get_image_height, (png_const_structrp png_ptr,
2033 png_const_inforp info_ptr));
2036 PNG_EXPORT(117, png_byte, png_get_bit_depth, (png_const_structrp png_ptr,
2037 png_const_inforp info_ptr));
2040 PNG_EXPORT(118, png_byte, png_get_color_type, (png_const_structrp png_ptr,
2041 png_const_inforp info_ptr));
2044 PNG_EXPORT(119, png_byte, png_get_filter_type, (png_const_structrp png_ptr,
2045 png_const_inforp info_ptr));
2048 PNG_EXPORT(120, png_byte, png_get_interlace_type, (png_const_structrp png_ptr,
2049 png_const_inforp info_ptr));
2052 PNG_EXPORT(121, png_byte, png_get_compression_type, (png_const_structrp png_ptr,
2053 png_const_inforp info_ptr));
2056 PNG_EXPORT(122, png_uint_32, png_get_pixels_per_meter,
2057 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2058 PNG_EXPORT(123, png_uint_32, png_get_x_pixels_per_meter,
2059 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2060 PNG_EXPORT(124, png_uint_32, png_get_y_pixels_per_meter,
2061 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2064 PNG_FP_EXPORT(125,
float, png_get_pixel_aspect_ratio,
2065 (png_const_structrp png_ptr, png_const_inforp info_ptr))
2066 PNG_FIXED_EXPORT(210, png_fixed_point, png_get_pixel_aspect_ratio_fixed,
2067 (png_const_structrp png_ptr, png_const_inforp info_ptr))
2070 PNG_EXPORT(126, png_int_32, png_get_x_offset_pixels,
2071 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2072 PNG_EXPORT(127, png_int_32, png_get_y_offset_pixels,
2073 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2074 PNG_EXPORT(128, png_int_32, png_get_x_offset_microns,
2075 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2076 PNG_EXPORT(129, png_int_32, png_get_y_offset_microns,
2077 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2081 #ifdef PNG_READ_SUPPORTED 2083 PNG_EXPORT(130, png_const_bytep, png_get_signature, (png_const_structrp png_ptr,
2084 png_const_inforp info_ptr));
2087 #ifdef PNG_bKGD_SUPPORTED 2088 PNG_EXPORT(131, png_uint_32, png_get_bKGD, (png_const_structrp png_ptr,
2089 png_inforp info_ptr, png_color_16p *background));
2092 #ifdef PNG_bKGD_SUPPORTED 2093 PNG_EXPORT(132,
void, png_set_bKGD, (png_const_structrp png_ptr,
2094 png_inforp info_ptr, png_const_color_16p background));
2097 #ifdef PNG_cHRM_SUPPORTED 2098 PNG_FP_EXPORT(133, png_uint_32, png_get_cHRM, (png_const_structrp png_ptr,
2099 png_const_inforp info_ptr,
double *white_x,
double *white_y,
double *red_x,
2100 double *red_y,
double *green_x,
double *green_y,
double *blue_x,
2102 PNG_FP_EXPORT(230, png_uint_32, png_get_cHRM_XYZ, (png_const_structrp png_ptr,
2103 png_const_inforp info_ptr,
double *red_X,
double *red_Y,
double *red_Z,
2104 double *green_X,
double *green_Y,
double *green_Z,
double *blue_X,
2105 double *blue_Y,
double *blue_Z))
2106 PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed,
2107 (png_const_structrp png_ptr, png_const_inforp info_ptr,
2108 png_fixed_point *int_white_x, png_fixed_point *int_white_y,
2109 png_fixed_point *int_red_x, png_fixed_point *int_red_y,
2110 png_fixed_point *int_green_x, png_fixed_point *int_green_y,
2111 png_fixed_point *int_blue_x, png_fixed_point *int_blue_y))
2112 PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed,
2113 (png_const_structrp png_ptr, png_const_inforp info_ptr,
2114 png_fixed_point *int_red_X, png_fixed_point *int_red_Y,
2115 png_fixed_point *int_red_Z, png_fixed_point *int_green_X,
2116 png_fixed_point *int_green_Y, png_fixed_point *int_green_Z,
2117 png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y,
2118 png_fixed_point *int_blue_Z))
2121 #ifdef PNG_cHRM_SUPPORTED 2122 PNG_FP_EXPORT(135,
void, png_set_cHRM, (png_const_structrp png_ptr,
2123 png_inforp info_ptr,
2124 double white_x,
double white_y,
double red_x,
double red_y,
double green_x,
2125 double green_y,
double blue_x,
double blue_y))
2126 PNG_FP_EXPORT(232,
void, png_set_cHRM_XYZ, (png_const_structrp png_ptr,
2127 png_inforp info_ptr,
double red_X,
double red_Y,
double red_Z,
2128 double green_X,
double green_Y,
double green_Z,
double blue_X,
2129 double blue_Y,
double blue_Z))
2130 PNG_FIXED_EXPORT(136,
void, png_set_cHRM_fixed, (png_const_structrp png_ptr,
2131 png_inforp info_ptr, png_fixed_point int_white_x,
2132 png_fixed_point int_white_y, png_fixed_point int_red_x,
2133 png_fixed_point int_red_y, png_fixed_point int_green_x,
2134 png_fixed_point int_green_y, png_fixed_point int_blue_x,
2135 png_fixed_point int_blue_y))
2136 PNG_FIXED_EXPORT(233,
void, png_set_cHRM_XYZ_fixed, (png_const_structrp png_ptr,
2137 png_inforp info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y,
2138 png_fixed_point int_red_Z, png_fixed_point int_green_X,
2139 png_fixed_point int_green_Y, png_fixed_point int_green_Z,
2140 png_fixed_point int_blue_X, png_fixed_point int_blue_Y,
2141 png_fixed_point int_blue_Z))
2144 #ifdef PNG_gAMA_SUPPORTED 2145 PNG_FP_EXPORT(137, png_uint_32, png_get_gAMA, (png_const_structrp png_ptr,
2146 png_const_inforp info_ptr,
double *file_gamma))
2147 PNG_FIXED_EXPORT(138, png_uint_32, png_get_gAMA_fixed,
2148 (png_const_structrp png_ptr, png_const_inforp info_ptr,
2149 png_fixed_point *int_file_gamma))
2152 #ifdef PNG_gAMA_SUPPORTED 2153 PNG_FP_EXPORT(139,
void, png_set_gAMA, (png_const_structrp png_ptr,
2154 png_inforp info_ptr,
double file_gamma))
2155 PNG_FIXED_EXPORT(140,
void, png_set_gAMA_fixed, (png_const_structrp png_ptr,
2156 png_inforp info_ptr, png_fixed_point int_file_gamma))
2159 #ifdef PNG_hIST_SUPPORTED 2160 PNG_EXPORT(141, png_uint_32, png_get_hIST, (png_const_structrp png_ptr,
2161 png_inforp info_ptr, png_uint_16p *hist));
2164 #ifdef PNG_hIST_SUPPORTED 2165 PNG_EXPORT(142,
void, png_set_hIST, (png_const_structrp png_ptr,
2166 png_inforp info_ptr, png_const_uint_16p hist));
2169 PNG_EXPORT(143, png_uint_32, png_get_IHDR, (png_const_structrp png_ptr,
2170 png_const_inforp info_ptr, png_uint_32 *width, png_uint_32 *height,
2171 int *bit_depth,
int *color_type,
int *interlace_method,
2172 int *compression_method,
int *filter_method));
2174 PNG_EXPORT(144,
void, png_set_IHDR, (png_const_structrp png_ptr,
2175 png_inforp info_ptr, png_uint_32 width, png_uint_32 height,
int bit_depth,
2176 int color_type,
int interlace_method,
int compression_method,
2177 int filter_method));
2179 #ifdef PNG_oFFs_SUPPORTED 2180 PNG_EXPORT(145, png_uint_32, png_get_oFFs, (png_const_structrp png_ptr,
2181 png_const_inforp info_ptr, png_int_32 *offset_x, png_int_32 *offset_y,
2185 #ifdef PNG_oFFs_SUPPORTED 2186 PNG_EXPORT(146,
void, png_set_oFFs, (png_const_structrp png_ptr,
2187 png_inforp info_ptr, png_int_32 offset_x, png_int_32 offset_y,
2191 #ifdef PNG_pCAL_SUPPORTED 2192 PNG_EXPORT(147, png_uint_32, png_get_pCAL, (png_const_structrp png_ptr,
2193 png_inforp info_ptr, png_charp *purpose, png_int_32 *X0,
2194 png_int_32 *X1,
int *type,
int *nparams, png_charp *units,
2195 png_charpp *params));
2198 #ifdef PNG_pCAL_SUPPORTED 2199 PNG_EXPORT(148,
void, png_set_pCAL, (png_const_structrp png_ptr,
2200 png_inforp info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1,
2201 int type,
int nparams, png_const_charp units, png_charpp params));
2204 #ifdef PNG_pHYs_SUPPORTED 2205 PNG_EXPORT(149, png_uint_32, png_get_pHYs, (png_const_structrp png_ptr,
2206 png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y,
2210 #ifdef PNG_pHYs_SUPPORTED 2211 PNG_EXPORT(150,
void, png_set_pHYs, (png_const_structrp png_ptr,
2212 png_inforp info_ptr, png_uint_32 res_x, png_uint_32 res_y,
int unit_type));
2215 PNG_EXPORT(151, png_uint_32, png_get_PLTE, (png_const_structrp png_ptr,
2216 png_inforp info_ptr, png_colorp *palette,
int *num_palette));
2218 PNG_EXPORT(152,
void, png_set_PLTE, (png_structrp png_ptr,
2219 png_inforp info_ptr, png_const_colorp palette,
int num_palette));
2221 #ifdef PNG_sBIT_SUPPORTED 2222 PNG_EXPORT(153, png_uint_32, png_get_sBIT, (png_const_structrp png_ptr,
2223 png_inforp info_ptr, png_color_8p *sig_bit));
2226 #ifdef PNG_sBIT_SUPPORTED 2227 PNG_EXPORT(154,
void, png_set_sBIT, (png_const_structrp png_ptr,
2228 png_inforp info_ptr, png_const_color_8p sig_bit));
2231 #ifdef PNG_sRGB_SUPPORTED 2232 PNG_EXPORT(155, png_uint_32, png_get_sRGB, (png_const_structrp png_ptr,
2233 png_const_inforp info_ptr,
int *file_srgb_intent));
2236 #ifdef PNG_sRGB_SUPPORTED 2237 PNG_EXPORT(156,
void, png_set_sRGB, (png_const_structrp png_ptr,
2238 png_inforp info_ptr,
int srgb_intent));
2239 PNG_EXPORT(157,
void, png_set_sRGB_gAMA_and_cHRM, (png_const_structrp png_ptr,
2240 png_inforp info_ptr,
int srgb_intent));
2243 #ifdef PNG_iCCP_SUPPORTED 2244 PNG_EXPORT(158, png_uint_32, png_get_iCCP, (png_const_structrp png_ptr,
2245 png_inforp info_ptr, png_charpp name,
int *compression_type,
2246 png_bytepp profile, png_uint_32 *proflen));
2249 #ifdef PNG_iCCP_SUPPORTED 2250 PNG_EXPORT(159,
void, png_set_iCCP, (png_const_structrp png_ptr,
2251 png_inforp info_ptr, png_const_charp name,
int compression_type,
2252 png_const_bytep profile, png_uint_32 proflen));
2255 #ifdef PNG_sPLT_SUPPORTED 2256 PNG_EXPORT(160,
int, png_get_sPLT, (png_const_structrp png_ptr,
2257 png_inforp info_ptr, png_sPLT_tpp entries));
2260 #ifdef PNG_sPLT_SUPPORTED 2261 PNG_EXPORT(161,
void, png_set_sPLT, (png_const_structrp png_ptr,
2262 png_inforp info_ptr, png_const_sPLT_tp entries,
int nentries));
2265 #ifdef PNG_TEXT_SUPPORTED 2267 PNG_EXPORT(162,
int, png_get_text, (png_const_structrp png_ptr,
2268 png_inforp info_ptr, png_textp *text_ptr,
int *num_text));
2278 #ifdef PNG_TEXT_SUPPORTED 2279 PNG_EXPORT(163,
void, png_set_text, (png_const_structrp png_ptr,
2280 png_inforp info_ptr, png_const_textp text_ptr,
int num_text));
2283 #ifdef PNG_tIME_SUPPORTED 2284 PNG_EXPORT(164, png_uint_32, png_get_tIME, (png_const_structrp png_ptr,
2285 png_inforp info_ptr, png_timep *mod_time));
2288 #ifdef PNG_tIME_SUPPORTED 2289 PNG_EXPORT(165,
void, png_set_tIME, (png_const_structrp png_ptr,
2290 png_inforp info_ptr, png_const_timep mod_time));
2293 #ifdef PNG_tRNS_SUPPORTED 2294 PNG_EXPORT(166, png_uint_32, png_get_tRNS, (png_const_structrp png_ptr,
2295 png_inforp info_ptr, png_bytep *trans_alpha,
int *num_trans,
2296 png_color_16p *trans_color));
2299 #ifdef PNG_tRNS_SUPPORTED 2300 PNG_EXPORT(167,
void, png_set_tRNS, (png_structrp png_ptr,
2301 png_inforp info_ptr, png_const_bytep trans_alpha,
int num_trans,
2302 png_const_color_16p trans_color));
2305 #ifdef PNG_sCAL_SUPPORTED 2306 PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL, (png_const_structrp png_ptr,
2307 png_const_inforp info_ptr,
int *unit,
double *width,
double *height))
2308 #if defined(PNG_FLOATING_ARITHMETIC_SUPPORTED) || \ 2309 defined(PNG_FLOATING_POINT_SUPPORTED) 2315 PNG_FIXED_EXPORT(214, png_uint_32, png_get_sCAL_fixed,
2316 (png_const_structrp png_ptr, png_const_inforp info_ptr,
int *unit,
2317 png_fixed_point *width, png_fixed_point *height))
2319 PNG_EXPORT(169, png_uint_32, png_get_sCAL_s,
2320 (png_const_structrp png_ptr, png_const_inforp info_ptr,
int *unit,
2321 png_charpp swidth, png_charpp sheight));
2323 PNG_FP_EXPORT(170,
void, png_set_sCAL, (png_const_structrp png_ptr,
2324 png_inforp info_ptr,
int unit,
double width,
double height))
2325 PNG_FIXED_EXPORT(213,
void, png_set_sCAL_fixed, (png_const_structrp png_ptr,
2326 png_inforp info_ptr,
int unit, png_fixed_point width,
2327 png_fixed_point height))
2328 PNG_EXPORT(171,
void, png_set_sCAL_s, (png_const_structrp png_ptr,
2329 png_inforp info_ptr,
int unit,
2330 png_const_charp swidth, png_const_charp sheight));
2333 #ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED 2432 PNG_EXPORT(172,
void, png_set_keep_unknown_chunks, (png_structrp png_ptr,
2433 int keep, png_const_bytep chunk_list,
int num_chunks));
2439 PNG_EXPORT(173,
int, png_handle_as_unknown, (png_const_structrp png_ptr,
2440 png_const_bytep chunk_name));
2443 #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED 2444 PNG_EXPORT(174,
void, png_set_unknown_chunks, (png_const_structrp png_ptr,
2445 png_inforp info_ptr, png_const_unknown_chunkp unknowns,
2456 PNG_EXPORT(175,
void, png_set_unknown_chunk_location,
2457 (png_const_structrp png_ptr, png_inforp info_ptr,
int chunk,
int location));
2459 PNG_EXPORT(176,
int, png_get_unknown_chunks, (png_const_structrp png_ptr,
2460 png_inforp info_ptr, png_unknown_chunkpp entries));
2467 PNG_EXPORT(177,
void, png_set_invalid, (png_const_structrp png_ptr,
2468 png_inforp info_ptr,
int mask));
2470 #ifdef PNG_INFO_IMAGE_SUPPORTED 2472 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED 2473 PNG_EXPORT(178,
void, png_read_png, (png_structrp png_ptr, png_inforp info_ptr,
2474 int transforms, png_voidp params));
2476 #ifdef PNG_WRITE_SUPPORTED 2477 PNG_EXPORT(179,
void, png_write_png, (png_structrp png_ptr, png_inforp info_ptr,
2478 int transforms, png_voidp params));
2482 PNG_EXPORT(180, png_const_charp, png_get_copyright,
2483 (png_const_structrp png_ptr));
2484 PNG_EXPORT(181, png_const_charp, png_get_header_ver,
2485 (png_const_structrp png_ptr));
2486 PNG_EXPORT(182, png_const_charp, png_get_header_version,
2487 (png_const_structrp png_ptr));
2488 PNG_EXPORT(183, png_const_charp, png_get_libpng_ver,
2489 (png_const_structrp png_ptr));
2491 #ifdef PNG_MNG_FEATURES_SUPPORTED 2492 PNG_EXPORT(184, png_uint_32, png_permit_mng_features, (png_structrp png_ptr,
2493 png_uint_32 mng_features_permitted));
2497 #define PNG_HANDLE_CHUNK_AS_DEFAULT 0 2498 #define PNG_HANDLE_CHUNK_NEVER 1 2499 #define PNG_HANDLE_CHUNK_IF_SAFE 2 2500 #define PNG_HANDLE_CHUNK_ALWAYS 3 2501 #define PNG_HANDLE_CHUNK_LAST 4 2506 #ifdef PNG_ERROR_NUMBERS_SUPPORTED 2507 PNG_EXPORT(185,
void, png_set_strip_error_numbers, (png_structrp png_ptr,
2508 png_uint_32 strip_mode));
2512 #ifdef PNG_SET_USER_LIMITS_SUPPORTED 2513 PNG_EXPORT(186,
void, png_set_user_limits, (png_structrp png_ptr,
2514 png_uint_32 user_width_max, png_uint_32 user_height_max));
2515 PNG_EXPORT(187, png_uint_32, png_get_user_width_max,
2516 (png_const_structrp png_ptr));
2517 PNG_EXPORT(188, png_uint_32, png_get_user_height_max,
2518 (png_const_structrp png_ptr));
2520 PNG_EXPORT(189,
void, png_set_chunk_cache_max, (png_structrp png_ptr,
2521 png_uint_32 user_chunk_cache_max));
2522 PNG_EXPORT(190, png_uint_32, png_get_chunk_cache_max,
2523 (png_const_structrp png_ptr));
2525 PNG_EXPORT(191,
void, png_set_chunk_malloc_max, (png_structrp png_ptr,
2526 png_alloc_size_t user_chunk_cache_max));
2527 PNG_EXPORT(192, png_alloc_size_t, png_get_chunk_malloc_max,
2528 (png_const_structrp png_ptr));
2531 #if defined(PNG_INCH_CONVERSIONS_SUPPORTED) 2532 PNG_EXPORT(193, png_uint_32, png_get_pixels_per_inch,
2533 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2535 PNG_EXPORT(194, png_uint_32, png_get_x_pixels_per_inch,
2536 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2538 PNG_EXPORT(195, png_uint_32, png_get_y_pixels_per_inch,
2539 (png_const_structrp png_ptr, png_const_inforp info_ptr));
2541 PNG_FP_EXPORT(196,
float, png_get_x_offset_inches,
2542 (png_const_structrp png_ptr, png_const_inforp info_ptr))
2543 #ifdef PNG_FIXED_POINT_SUPPORTED 2544 PNG_FIXED_EXPORT(211, png_fixed_point, png_get_x_offset_inches_fixed,
2545 (png_const_structrp png_ptr, png_const_inforp info_ptr))
2548 PNG_FP_EXPORT(197,
float, png_get_y_offset_inches, (png_const_structrp png_ptr,
2549 png_const_inforp info_ptr))
2550 #ifdef PNG_FIXED_POINT_SUPPORTED 2551 PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed,
2552 (png_const_structrp png_ptr, png_const_inforp info_ptr))
2555 # ifdef PNG_pHYs_SUPPORTED 2556 PNG_EXPORT(198, png_uint_32, png_get_pHYs_dpi, (png_const_structrp png_ptr,
2557 png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y,
2563 #ifdef PNG_IO_STATE_SUPPORTED 2564 PNG_EXPORT(199, png_uint_32, png_get_io_state, (png_const_structrp png_ptr));
2567 PNG_REMOVED(200, png_const_bytep, png_get_io_chunk_name, (png_structrp png_ptr),
2570 PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type,
2571 (png_const_structrp png_ptr));
2574 # define PNG_IO_NONE 0x0000 2575 # define PNG_IO_READING 0x0001 2576 # define PNG_IO_WRITING 0x0002 2577 # define PNG_IO_SIGNATURE 0x0010 2578 # define PNG_IO_CHUNK_HDR 0x0020 2579 # define PNG_IO_CHUNK_DATA 0x0040 2580 # define PNG_IO_CHUNK_CRC 0x0080 2581 # define PNG_IO_MASK_OP 0x000f 2582 # define PNG_IO_MASK_LOC 0x00f0 2589 #define PNG_INTERLACE_ADAM7_PASSES 7 2595 #define PNG_PASS_START_ROW(pass) (((1&~(pass))<<(3-((pass)>>1)))&7) 2596 #define PNG_PASS_START_COL(pass) (((1& (pass))<<(3-(((pass)+1)>>1)))&7) 2603 #define PNG_PASS_ROW_OFFSET(pass) ((pass)>2?(8>>(((pass)-1)>>1)):8) 2604 #define PNG_PASS_COL_OFFSET(pass) (1<<((7-(pass))>>1)) 2610 #define PNG_PASS_ROW_SHIFT(pass) ((pass)>2?(8-(pass))>>1:3) 2611 #define PNG_PASS_COL_SHIFT(pass) ((pass)>1?(7-(pass))>>1:3) 2618 #define PNG_PASS_ROWS(height, pass) (((height)+(((1<<PNG_PASS_ROW_SHIFT(pass))\ 2619 -1)-PNG_PASS_START_ROW(pass)))>>PNG_PASS_ROW_SHIFT(pass)) 2620 #define PNG_PASS_COLS(width, pass) (((width)+(((1<<PNG_PASS_COL_SHIFT(pass))\ 2621 -1)-PNG_PASS_START_COL(pass)))>>PNG_PASS_COL_SHIFT(pass)) 2627 #define PNG_ROW_FROM_PASS_ROW(y_in, pass) \ 2628 (((y_in)<<PNG_PASS_ROW_SHIFT(pass))+PNG_PASS_START_ROW(pass)) 2629 #define PNG_COL_FROM_PASS_COL(x_in, pass) \ 2630 (((x_in)<<PNG_PASS_COL_SHIFT(pass))+PNG_PASS_START_COL(pass)) 2638 #define PNG_PASS_MASK(pass,off) ( \ 2639 ((0x110145AF>>(((7-(off))-(pass))<<2)) & 0xF) | \ 2640 ((0x01145AF0>>(((7-(off))-(pass))<<2)) & 0xF0)) 2642 #define PNG_ROW_IN_INTERLACE_PASS(y, pass) \ 2643 ((PNG_PASS_MASK(pass,0) >> ((y)&7)) & 1) 2644 #define PNG_COL_IN_INTERLACE_PASS(x, pass) \ 2645 ((PNG_PASS_MASK(pass,1) >> ((x)&7)) & 1) 2647 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED 2662 # define png_composite(composite, fg, alpha, bg) \ 2663 { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \ 2664 * (png_uint_16)(alpha) \ 2665 + (png_uint_16)(bg)*(png_uint_16)(255 \ 2666 - (png_uint_16)(alpha)) + 128); \ 2667 (composite) = (png_byte)((temp + (temp >> 8)) >> 8); } 2669 # define png_composite_16(composite, fg, alpha, bg) \ 2670 { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \ 2671 * (png_uint_32)(alpha) \ 2672 + (png_uint_32)(bg)*(65535 \ 2673 - (png_uint_32)(alpha)) + 32768); \ 2674 (composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); } 2678 # define png_composite(composite, fg, alpha, bg) \ 2679 (composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \ 2680 (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \ 2683 # define png_composite_16(composite, fg, alpha, bg) \ 2684 (composite) = (png_uint_16)(((png_uint_32)(fg) * (png_uint_32)(alpha) + \ 2685 (png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \ 2689 #ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED 2690 PNG_EXPORT(201, png_uint_32, png_get_uint_32, (png_const_bytep buf));
2691 PNG_EXPORT(202, png_uint_16, png_get_uint_16, (png_const_bytep buf));
2692 PNG_EXPORT(203, png_int_32, png_get_int_32, (png_const_bytep buf));
2695 PNG_EXPORT(204, png_uint_32, png_get_uint_31, (png_const_structrp png_ptr,
2696 png_const_bytep buf));
2700 #ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED 2701 PNG_EXPORT(205,
void, png_save_uint_32, (png_bytep buf, png_uint_32 i));
2703 #ifdef PNG_SAVE_INT_32_SUPPORTED 2704 PNG_EXPORT(206,
void, png_save_int_32, (png_bytep buf, png_int_32 i));
2711 #ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED 2712 PNG_EXPORT(207,
void, png_save_uint_16, (png_bytep buf,
unsigned int i));
2716 #ifdef PNG_USE_READ_MACROS 2721 # define PNG_get_uint_32(buf) \ 2722 (((png_uint_32)(*(buf)) << 24) + \ 2723 ((png_uint_32)(*((buf) + 1)) << 16) + \ 2724 ((png_uint_32)(*((buf) + 2)) << 8) + \ 2725 ((png_uint_32)(*((buf) + 3)))) 2730 # define PNG_get_uint_16(buf) \ 2732 (((unsigned int)(*(buf)) << 8) + \ 2733 ((unsigned int)(*((buf) + 1))))) 2735 # define PNG_get_int_32(buf) \ 2736 ((png_int_32)((*(buf) & 0x80) \ 2737 ? -((png_int_32)((png_get_uint_32(buf) ^ 0xffffffffL) + 1)) \ 2738 : (png_int_32)png_get_uint_32(buf))) 2744 # define png_get_uint_32(buf) PNG_get_uint_32(buf) 2745 # define png_get_uint_16(buf) PNG_get_uint_16(buf) 2746 # define png_get_int_32(buf) PNG_get_int_32(buf) 2751 # define PNG_get_uint_32 (png_get_uint_32) 2752 # define PNG_get_uint_16 (png_get_uint_16) 2753 # define PNG_get_int_32 (png_get_int_32) 2757 #if defined(PNG_SIMPLIFIED_READ_SUPPORTED) || \ 2758 defined(PNG_SIMPLIFIED_WRITE_SUPPORTED) 2804 #define PNG_IMAGE_VERSION 1 2809 png_controlp opaque;
2810 png_uint_32 version;
2815 png_uint_32 colormap_entries;
2827 # define PNG_IMAGE_WARNING 1 2828 # define PNG_IMAGE_ERROR 2 2838 # define PNG_IMAGE_FAILED(png_cntrl) ((((png_cntrl).warning_or_error)&0x03)>1) 2840 png_uint_32 warning_or_error;
2913 #define PNG_FORMAT_FLAG_ALPHA 0x01U 2914 #define PNG_FORMAT_FLAG_COLOR 0x02U 2915 #define PNG_FORMAT_FLAG_LINEAR 0x04U 2916 #define PNG_FORMAT_FLAG_COLORMAP 0x08U 2918 #ifdef PNG_FORMAT_BGR_SUPPORTED 2919 # define PNG_FORMAT_FLAG_BGR 0x10U 2922 #ifdef PNG_FORMAT_AFIRST_SUPPORTED 2923 # define PNG_FORMAT_FLAG_AFIRST 0x20U 2930 #define PNG_FORMAT_GRAY 0 2931 #define PNG_FORMAT_GA PNG_FORMAT_FLAG_ALPHA 2932 #define PNG_FORMAT_AG (PNG_FORMAT_GA|PNG_FORMAT_FLAG_AFIRST) 2933 #define PNG_FORMAT_RGB PNG_FORMAT_FLAG_COLOR 2934 #define PNG_FORMAT_BGR (PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_BGR) 2935 #define PNG_FORMAT_RGBA (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_ALPHA) 2936 #define PNG_FORMAT_ARGB (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_AFIRST) 2937 #define PNG_FORMAT_BGRA (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_ALPHA) 2938 #define PNG_FORMAT_ABGR (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_AFIRST) 2943 #define PNG_FORMAT_LINEAR_Y PNG_FORMAT_FLAG_LINEAR 2944 #define PNG_FORMAT_LINEAR_Y_ALPHA (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_ALPHA) 2945 #define PNG_FORMAT_LINEAR_RGB (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR) 2946 #define PNG_FORMAT_LINEAR_RGB_ALPHA \ 2947 (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA) 2954 #define PNG_FORMAT_RGB_COLORMAP (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_COLORMAP) 2955 #define PNG_FORMAT_BGR_COLORMAP (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_COLORMAP) 2956 #define PNG_FORMAT_RGBA_COLORMAP (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_COLORMAP) 2957 #define PNG_FORMAT_ARGB_COLORMAP (PNG_FORMAT_ARGB|PNG_FORMAT_FLAG_COLORMAP) 2958 #define PNG_FORMAT_BGRA_COLORMAP (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_COLORMAP) 2959 #define PNG_FORMAT_ABGR_COLORMAP (PNG_FORMAT_ABGR|PNG_FORMAT_FLAG_COLORMAP) 2979 #define PNG_IMAGE_SAMPLE_CHANNELS(fmt)\ 2980 (((fmt)&(PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA))+1) 2983 #define PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)\ 2984 ((((fmt) & PNG_FORMAT_FLAG_LINEAR) >> 2)+1) 2989 #define PNG_IMAGE_SAMPLE_SIZE(fmt)\ 2990 (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)) 2996 #define PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)\ 2997 (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * 256) 3012 #define PNG_IMAGE_PIXEL_(test,fmt)\ 3013 (((fmt)&PNG_FORMAT_FLAG_COLORMAP)?1:test(fmt)) 3015 #define PNG_IMAGE_PIXEL_CHANNELS(fmt)\ 3016 PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_CHANNELS,fmt) 3021 #define PNG_IMAGE_PIXEL_COMPONENT_SIZE(fmt)\ 3022 PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_COMPONENT_SIZE,fmt) 3027 #define PNG_IMAGE_PIXEL_SIZE(fmt) PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_SIZE,fmt) 3031 #define PNG_IMAGE_ROW_STRIDE(image)\ 3032 (PNG_IMAGE_PIXEL_CHANNELS((image).format) * (image).width) 3039 #define PNG_IMAGE_BUFFER_SIZE(image, row_stride)\ 3040 (PNG_IMAGE_PIXEL_COMPONENT_SIZE((image).format)*(image).height*(row_stride)) 3045 #define PNG_IMAGE_SIZE(image)\ 3046 PNG_IMAGE_BUFFER_SIZE(image, PNG_IMAGE_ROW_STRIDE(image)) 3051 #define PNG_IMAGE_COLORMAP_SIZE(image)\ 3052 (PNG_IMAGE_SAMPLE_SIZE((image).format) * (image).colormap_entries) 3064 #define PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB 0x01 3069 #define PNG_IMAGE_FLAG_FAST 0x02 3080 #define PNG_IMAGE_FLAG_16BIT_sRGB 0x04 3098 #ifdef PNG_SIMPLIFIED_READ_SUPPORTED 3105 #ifdef PNG_STDIO_SUPPORTED 3106 PNG_EXPORT(234,
int, png_image_begin_read_from_file, (png_imagep image,
3107 const char *file_name));
3112 PNG_EXPORT(235,
int, png_image_begin_read_from_stdio, (png_imagep image,
3117 PNG_EXPORT(236,
int, png_image_begin_read_from_memory, (png_imagep image,
3118 png_const_voidp memory, png_size_t size));
3121 PNG_EXPORT(237,
int, png_image_finish_read, (png_imagep image,
3122 png_const_colorp background,
void *buffer, png_int_32 row_stride,
3156 PNG_EXPORT(238,
void, png_image_free, (png_imagep image));
3162 #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED 3163 #ifdef PNG_STDIO_SUPPORTED 3180 PNG_EXPORT(239,
int, png_image_write_to_file, (png_imagep image,
3181 const char *file,
int convert_to_8bit,
const void *buffer,
3182 png_int_32 row_stride,
const void *colormap));
3185 PNG_EXPORT(240,
int, png_image_write_to_stdio, (png_imagep image, FILE *file,
3186 int convert_to_8_bit,
const void *buffer, png_int_32 row_stride,
3187 const void *colormap));
3213 #ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED 3214 PNG_EXPORT(242,
void, png_set_check_for_invalid_index,
3215 (png_structrp png_ptr,
int allowed));
3216 # ifdef PNG_GET_PALETTE_MAX_SUPPORTED 3217 PNG_EXPORT(243,
int, png_get_palette_max, (png_const_structp png_ptr,
3218 png_const_infop info_ptr));
3243 #ifdef PNG_SET_OPTION_SUPPORTED 3244 #ifdef PNG_ARM_NEON_API_SUPPORTED 3245 # define PNG_ARM_NEON 0 3247 #define PNG_MAXIMUM_INFLATE_WINDOW 2 3248 #define PNG_SKIP_sRGB_CHECK_PROFILE 4 3249 #define PNG_OPTION_NEXT 6 3252 #define PNG_OPTION_UNSET 0 3253 #define PNG_OPTION_INVALID 1 3254 #define PNG_OPTION_OFF 2 3255 #define PNG_OPTION_ON 3 3257 PNG_EXPORT(244,
int, png_set_option, (png_structrp png_ptr,
int option,
3272 #ifdef PNG_EXPORT_LAST_ORDINAL 3273 PNG_EXPORT_LAST_ORDINAL(244);
Definition: pngpriv.h:1865
Definition: pngstruct.h:144