17 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
23 if (png_ptr !=
NULL && info_ptr !=
NULL)
24 return(info_ptr->valid & flag);
32 if (png_ptr !=
NULL && info_ptr !=
NULL)
33 return(info_ptr->rowbytes);
38 #ifdef PNG_INFO_IMAGE_SUPPORTED
42 if (png_ptr !=
NULL && info_ptr !=
NULL)
43 return(info_ptr->row_pointers);
49 #ifdef PNG_EASY_ACCESS_SUPPORTED
54 if (png_ptr !=
NULL && info_ptr !=
NULL)
55 return info_ptr->width;
63 if (png_ptr !=
NULL && info_ptr !=
NULL)
64 return info_ptr->height;
72 if (png_ptr !=
NULL && info_ptr !=
NULL)
73 return info_ptr->bit_depth;
81 if (png_ptr !=
NULL && info_ptr !=
NULL)
82 return info_ptr->color_type;
90 if (png_ptr !=
NULL && info_ptr !=
NULL)
91 return info_ptr->filter_type;
99 if (png_ptr !=
NULL && info_ptr !=
NULL)
100 return info_ptr->interlace_type;
108 if (png_ptr !=
NULL && info_ptr !=
NULL)
109 return info_ptr->compression_type;
117 #ifdef PNG_pHYs_SUPPORTED
121 "png_get_x_pixels_per_meter");
124 return (info_ptr->x_pixels_per_unit);
134 #ifdef PNG_pHYs_SUPPORTED
138 "png_get_y_pixels_per_meter");
141 return (info_ptr->y_pixels_per_unit);
151 #ifdef PNG_pHYs_SUPPORTED
154 png_debug1(1,
"in %s retrieval function",
"png_get_pixels_per_meter");
157 info_ptr->x_pixels_per_unit == info_ptr->y_pixels_per_unit)
158 return (info_ptr->x_pixels_per_unit);
165 #ifdef PNG_FLOATING_POINT_SUPPORTED
169 #ifdef PNG_READ_pHYs_SUPPORTED
172 png_debug1(1,
"in %s retrieval function",
"png_get_aspect_ratio");
174 if (info_ptr->x_pixels_per_unit != 0)
175 return ((
float)((
float)info_ptr->y_pixels_per_unit
176 /(
float)info_ptr->x_pixels_per_unit));
184 #ifdef PNG_FIXED_POINT_SUPPORTED
189 #ifdef PNG_READ_pHYs_SUPPORTED
191 && info_ptr->x_pixels_per_unit > 0 && info_ptr->y_pixels_per_unit > 0
197 png_debug1(1,
"in %s retrieval function",
"png_get_aspect_ratio_fixed");
215 #ifdef PNG_oFFs_SUPPORTED
218 png_debug1(1,
"in %s retrieval function",
"png_get_x_offset_microns");
221 return (info_ptr->x_offset);
231 #ifdef PNG_oFFs_SUPPORTED
234 png_debug1(1,
"in %s retrieval function",
"png_get_y_offset_microns");
237 return (info_ptr->y_offset);
247 #ifdef PNG_oFFs_SUPPORTED
250 png_debug1(1,
"in %s retrieval function",
"png_get_x_offset_pixels");
253 return (info_ptr->x_offset);
263 #ifdef PNG_oFFs_SUPPORTED
266 png_debug1(1,
"in %s retrieval function",
"png_get_y_offset_pixels");
269 return (info_ptr->y_offset);
276 #ifdef PNG_INCH_CONVERSIONS_SUPPORTED
286 t1001 = ppm + (ppm >> 3);
287 t1101 = t1001 + (ppm >> 1);
289 t1101 += t1101 >> 15;
291 t1001 += t1001 >> 12;
294 return (ppm + 16) >> 5;
327 #ifdef PNG_FIXED_POINT_SUPPORTED
348 #ifdef PNG_FIXED_POINT_SUPPORTED
358 #ifdef PNG_FLOATING_POINT_SUPPORTED
369 #ifdef PNG_FLOATING_POINT_SUPPORTED
380 #ifdef PNG_pHYs_SUPPORTED
389 png_debug1(1,
"in %s retrieval function",
"pHYs");
393 *res_x = info_ptr->x_pixels_per_unit;
399 *res_y = info_ptr->y_pixels_per_unit;
403 if (unit_type !=
NULL)
405 *unit_type = (
int)info_ptr->phys_unit_type;
428 if (png_ptr !=
NULL && info_ptr !=
NULL)
429 return(info_ptr->channels);
437 if (png_ptr !=
NULL && info_ptr !=
NULL)
438 return(info_ptr->signature);
443 #ifdef PNG_bKGD_SUPPORTED
449 && background !=
NULL)
451 png_debug1(1,
"in %s retrieval function",
"bKGD");
453 *background = &(info_ptr->background);
461 #ifdef PNG_cHRM_SUPPORTED
479 png_debug1(1,
"in %s retrieval function",
"cHRM_XYZ");
481 xy.
whitex = info_ptr->x_white;
482 xy.
whitey = info_ptr->y_white;
483 xy.
redx = info_ptr->x_red;
484 xy.
redy = info_ptr->y_red;
485 xy.
greenx = info_ptr->x_green;
486 xy.
greeny = info_ptr->y_green;
487 xy.
bluex = info_ptr->x_blue;
488 xy.
bluey = info_ptr->y_blue;
495 if (int_red_X !=
NULL)
496 *int_red_X = XYZ.
redX;
497 if (int_red_Y !=
NULL)
498 *int_red_Y = XYZ.
redY;
499 if (int_red_Z !=
NULL)
500 *int_red_Z = XYZ.
redZ;
501 if (int_green_X !=
NULL)
502 *int_green_X = XYZ.
greenX;
503 if (int_green_Y !=
NULL)
504 *int_green_Y = XYZ.
greenY;
505 if (int_green_Z !=
NULL)
506 *int_green_Z = XYZ.
greenZ;
507 if (int_blue_X !=
NULL)
508 *int_blue_X = XYZ.
blueX;
509 if (int_blue_Y !=
NULL)
510 *int_blue_Y = XYZ.
blueY;
511 if (int_blue_Z !=
NULL)
512 *int_blue_Z = XYZ.
blueZ;
521 # ifdef PNG_FLOATING_POINT_SUPPORTED
524 double *white_x,
double *white_y,
double *red_x,
double *red_y,
525 double *green_x,
double *green_y,
double *blue_x,
double *blue_y)
529 png_debug1(1,
"in %s retrieval function",
"cHRM");
532 *white_x =
png_float(png_ptr, info_ptr->x_white,
"cHRM white X");
534 *white_y =
png_float(png_ptr, info_ptr->y_white,
"cHRM white Y");
536 *red_x =
png_float(png_ptr, info_ptr->x_red,
"cHRM red X");
538 *red_y =
png_float(png_ptr, info_ptr->y_red,
"cHRM red Y");
540 *green_x =
png_float(png_ptr, info_ptr->x_green,
"cHRM green X");
542 *green_y =
png_float(png_ptr, info_ptr->y_green,
"cHRM green Y");
544 *blue_x =
png_float(png_ptr, info_ptr->x_blue,
"cHRM blue X");
546 *blue_y =
png_float(png_ptr, info_ptr->y_blue,
"cHRM blue Y");
555 double *red_X,
double *red_Y,
double *red_Z,
double *green_X,
556 double *green_Y,
double *green_Z,
double *blue_X,
double *blue_Y,
590 # ifdef PNG_FIXED_POINT_SUPPORTED
597 png_debug1(1,
"in %s retrieval function",
"cHRM");
602 *white_x = info_ptr->x_white;
604 *white_y = info_ptr->y_white;
606 *red_x = info_ptr->x_red;
608 *red_y = info_ptr->y_red;
610 *green_x = info_ptr->x_green;
612 *green_y = info_ptr->y_green;
614 *blue_x = info_ptr->x_blue;
616 *blue_y = info_ptr->y_blue;
625 #ifdef PNG_gAMA_SUPPORTED
630 png_debug1(1,
"in %s retrieval function",
"gAMA");
633 && file_gamma !=
NULL)
635 *file_gamma = info_ptr->gamma;
641 # ifdef PNG_FLOATING_POINT_SUPPORTED
650 *file_gamma =
png_float(png_ptr, igamma,
"png_get_gAMA");
658 #ifdef PNG_sRGB_SUPPORTED
661 int *file_srgb_intent)
663 png_debug1(1,
"in %s retrieval function",
"sRGB");
666 && file_srgb_intent !=
NULL)
668 *file_srgb_intent = (
int)info_ptr->srgb_intent;
676 #ifdef PNG_iCCP_SUPPORTED
682 png_debug1(1,
"in %s retrieval function",
"iCCP");
685 && name !=
NULL && compression_type !=
NULL && profile !=
NULL &&
688 *name = info_ptr->iccp_name;
689 *profile = info_ptr->iccp_profile;
693 *proflen = info_ptr->iccp_proflen;
694 *compression_type = info_ptr->iccp_compression;
702 #ifdef PNG_sPLT_SUPPORTED
707 if (png_ptr !=
NULL && info_ptr !=
NULL && spalettes !=
NULL)
709 *spalettes = info_ptr->splt_palettes;
717 #ifdef PNG_hIST_SUPPORTED
722 png_debug1(1,
"in %s retrieval function",
"hIST");
727 *hist = info_ptr->hist;
742 png_debug1(1,
"in %s retrieval function",
"IHDR");
744 if (png_ptr ==
NULL || info_ptr ==
NULL || width ==
NULL ||
745 height ==
NULL || bit_depth ==
NULL || color_type ==
NULL)
748 *width = info_ptr->width;
749 *height = info_ptr->height;
750 *bit_depth = info_ptr->bit_depth;
751 *color_type = info_ptr->color_type;
753 if (compression_type !=
NULL)
754 *compression_type = info_ptr->compression_type;
756 if (filter_type !=
NULL)
757 *filter_type = info_ptr->filter_type;
759 if (interlace_type !=
NULL)
760 *interlace_type = info_ptr->interlace_type;
768 info_ptr->bit_depth, info_ptr->color_type, info_ptr->interlace_type,
769 info_ptr->compression_type, info_ptr->filter_type);
774 #ifdef PNG_oFFs_SUPPORTED
779 png_debug1(1,
"in %s retrieval function",
"oFFs");
782 && offset_x !=
NULL && offset_y !=
NULL && unit_type !=
NULL)
784 *offset_x = info_ptr->x_offset;
785 *offset_y = info_ptr->y_offset;
786 *unit_type = (
int)info_ptr->offset_unit_type;
794 #ifdef PNG_pCAL_SUPPORTED
800 png_debug1(1,
"in %s retrieval function",
"pCAL");
806 *purpose = info_ptr->pcal_purpose;
807 *X0 = info_ptr->pcal_X0;
808 *X1 = info_ptr->pcal_X1;
809 *type = (
int)info_ptr->pcal_type;
810 *nparams = (
int)info_ptr->pcal_nparams;
811 *units = info_ptr->pcal_units;
812 *params = info_ptr->pcal_params;
820 #ifdef PNG_sCAL_SUPPORTED
821 # ifdef PNG_FIXED_POINT_SUPPORTED
822 # ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
827 if (png_ptr !=
NULL && info_ptr !=
NULL &&
830 *unit = info_ptr->scal_unit;
832 *width =
png_fixed(png_ptr, atof(info_ptr->scal_s_width),
"sCAL width");
833 *height =
png_fixed(png_ptr, atof(info_ptr->scal_s_height),
842 # ifdef PNG_FLOATING_POINT_SUPPORTED
847 if (png_ptr !=
NULL && info_ptr !=
NULL &&
850 *unit = info_ptr->scal_unit;
851 *width = atof(info_ptr->scal_s_width);
852 *height = atof(info_ptr->scal_s_height);
863 if (png_ptr !=
NULL && info_ptr !=
NULL &&
866 *unit = info_ptr->scal_unit;
867 *width = info_ptr->scal_s_width;
868 *height = info_ptr->scal_s_height;
876 #ifdef PNG_pHYs_SUPPORTED
883 png_debug1(1,
"in %s retrieval function",
"pHYs");
885 if (png_ptr !=
NULL && info_ptr !=
NULL &&
890 *res_x = info_ptr->x_pixels_per_unit;
896 *res_y = info_ptr->y_pixels_per_unit;
900 if (unit_type !=
NULL)
902 *unit_type = (
int)info_ptr->phys_unit_type;
915 png_debug1(1,
"in %s retrieval function",
"PLTE");
920 *palette = info_ptr->palette;
921 *num_palette = info_ptr->num_palette;
922 png_debug1(3,
"num_palette = %d", *num_palette);
929 #ifdef PNG_sBIT_SUPPORTED
934 png_debug1(1,
"in %s retrieval function",
"sBIT");
939 *sig_bit = &(info_ptr->sig_bit);
947 #ifdef PNG_TEXT_SUPPORTED
952 if (png_ptr !=
NULL && info_ptr !=
NULL && info_ptr->num_text > 0)
955 (
unsigned long)png_ptr->chunk_name);
957 if (text_ptr !=
NULL)
958 *text_ptr = info_ptr->text;
960 if (num_text !=
NULL)
961 *num_text = info_ptr->num_text;
966 if (num_text !=
NULL)
973 #ifdef PNG_tIME_SUPPORTED
977 png_debug1(1,
"in %s retrieval function",
"tIME");
982 *mod_time = &(info_ptr->mod_time);
990 #ifdef PNG_tRNS_SUPPORTED
998 png_debug1(1,
"in %s retrieval function",
"tRNS");
1002 if (trans_alpha !=
NULL)
1004 *trans_alpha = info_ptr->trans_alpha;
1008 if (trans_color !=
NULL)
1009 *trans_color = &(info_ptr->trans_color);
1014 if (trans_color !=
NULL)
1016 *trans_color = &(info_ptr->trans_color);
1020 if (trans_alpha !=
NULL)
1021 *trans_alpha =
NULL;
1024 if (num_trans !=
NULL)
1026 *num_trans = info_ptr->num_trans;
1035 #ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
1040 if (png_ptr !=
NULL && info_ptr !=
NULL && unknowns !=
NULL)
1042 *unknowns = info_ptr->unknown_chunks;
1043 return info_ptr->unknown_chunks_num;
1050 #ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
1054 return (
png_byte)(png_ptr ? png_ptr->rgb_to_gray_status : 0);
1058 #ifdef PNG_USER_CHUNKS_SUPPORTED
1062 return (png_ptr ? png_ptr->user_chunk_ptr :
NULL);
1069 return (png_ptr ? png_ptr->zbuf_size : 0);
1072 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
1078 return (png_ptr ? png_ptr->user_width_max : 0);
1084 return (png_ptr ? png_ptr->user_height_max : 0);
1091 return (png_ptr ? png_ptr->user_chunk_cache_max : 0);
1098 return (png_ptr ? png_ptr->user_chunk_malloc_max : 0);
1103 #ifdef PNG_IO_STATE_SUPPORTED
1107 return png_ptr->io_state;
1113 return png_ptr->chunk_name;
1120 return png_ptr->io_chunk_string;
static png_fixed_point png_fixed_inches_from_microns(png_structp png_ptr, png_int_32 microns)
png_uint_32 PNGAPI png_get_cHRM_XYZ(png_structp png_ptr, png_const_infop info_ptr, double *red_X, double *red_Y, double *red_Z, double *green_X, double *green_Y, double *green_Z, double *blue_X, double *blue_Y, double *blue_Z)
static png_uint_32 ppi_from_ppm(png_uint_32 ppm)
png_uint_32 PNGAPI png_get_x_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
png_size_t PNGAPI png_get_rowbytes(png_const_structp png_ptr, png_const_infop info_ptr)
png_fixed_point PNGAPI png_get_x_offset_inches_fixed(png_structp png_ptr, png_const_infop info_ptr)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
png_uint_32 PNGAPI png_get_PLTE(png_const_structp png_ptr, png_const_infop info_ptr, png_colorp *palette, int *num_palette)
png_uint_32 PNGAPI png_get_y_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_sCAL_s(png_const_structp png_ptr, png_const_infop info_ptr, int *unit, png_charpp width, png_charpp height)
png_uint_32 PNGAPI png_get_sRGB(png_const_structp png_ptr, png_const_infop info_ptr, int *file_srgb_intent)
float PNGAPI png_get_y_offset_inches(png_const_structp png_ptr, png_const_infop info_ptr)
png_byte PNGAPI png_get_color_type(png_const_structp png_ptr, png_const_infop info_ptr)
PNG_CONST png_struct FAR * png_const_structp
png_uint_32 PNGAPI png_get_chunk_cache_max(png_const_structp png_ptr)
png_color_16 FAR * png_color_16p
float PNGAPI png_get_x_offset_inches(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_sPLT(png_const_structp png_ptr, png_const_infop info_ptr, png_sPLT_tpp spalettes)
#define PNG_COLOR_TYPE_PALETTE
png_byte PNGAPI png_get_compression_type(png_const_structp png_ptr, png_const_infop info_ptr)
png_fixed_point png_fixed(png_structp png_ptr, double fp, png_const_charp text)
png_const_bytep PNGAPI png_get_io_chunk_name(png_structp png_ptr)
int png_XYZ_from_xy_checked(png_structp png_ptr, png_XYZ *XYZ, png_xy xy)
EGLSurface EGLint EGLint EGLint EGLint height
png_uint_32 PNGAPI png_get_hIST(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_16p *hist)
png_uint_32 PNGAPI png_get_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
EGLImageKHR EGLint * name
png_uint_32 PNGAPI png_get_sCAL(png_const_structp png_ptr, png_const_infop info_ptr, int *unit, double *width, double *height)
png_uint_32 PNGAPI png_get_text(png_const_structp png_ptr, png_const_infop info_ptr, png_textp *text_ptr, int *num_text)
png_uint_32 PNGAPI png_get_image_width(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_gAMA(png_const_structp png_ptr, png_const_infop info_ptr, double *file_gamma)
png_int_32 PNGAPI png_get_y_offset_pixels(png_const_structp png_ptr, png_const_infop info_ptr)
#define png_float(png_ptr, fixed, s)
png_uint_32 PNGAPI png_get_tIME(png_const_structp png_ptr, png_infop info_ptr, png_timep *mod_time)
png_uint_32 PNGAPI png_get_cHRM(png_const_structp png_ptr, png_const_infop info_ptr, double *white_x, double *white_y, double *red_x, double *red_y, double *green_x, double *green_y, double *blue_x, double *blue_y)
png_unknown_chunk FAR *FAR * png_unknown_chunkpp
png_uint_32 PNGAPI png_get_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_image_height(png_const_structp png_ptr, png_const_infop info_ptr)
png_size_t png_alloc_size_t
png_uint_32 PNGAPI png_get_pCAL(png_const_structp png_ptr, png_const_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params)
png_uint_32 PNGAPI png_get_sBIT(png_const_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit)
png_byte FAR *FAR * png_bytepp
png_uint_32 PNGAPI png_get_y_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
png_int_32 PNGAPI png_get_x_offset_pixels(png_const_structp png_ptr, png_const_infop info_ptr)
png_alloc_size_t PNGAPI png_get_chunk_malloc_max(png_const_structp png_ptr)
void png_check_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_type, int compression_type, int filter_type)
png_struct FAR * png_structp
png_int_32 PNGAPI png_get_y_offset_microns(png_const_structp png_ptr, png_const_infop info_ptr)
png_fixed_point png_muldiv_warn(png_structp png_ptr, png_fixed_point a, png_int_32 times, png_int_32 divisor)
png_byte PNGAPI png_get_interlace_type(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_type, int *compression_type, int *filter_type)
EGLSurface EGLint EGLint EGLint width
png_uint_32 PNGAPI png_get_io_state(png_structp png_ptr)
png_uint_32 PNGAPI png_get_user_width_max(png_const_structp png_ptr)
png_uint_32 PNGAPI png_get_user_height_max(png_const_structp png_ptr)
png_uint_16 FAR * png_uint_16p
PNG_CONST png_byte FAR * png_const_bytep
#define png_debug1(l, m, p1)
#define PNG_RESOLUTION_METER
png_uint_32 PNGAPI png_get_sCAL_fixed(png_structp png_ptr, png_const_infop info_ptr, int *unit, png_fixed_point *width, png_fixed_point *height)
int png_muldiv(png_fixed_point_p res, png_fixed_point a, png_int_32 times, png_int_32 divisor)
png_int_32 PNGAPI png_get_x_offset_microns(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_valid(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 flag)
png_uint_32 PNGAPI png_get_oFFs(png_const_structp png_ptr, png_const_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)
png_const_bytep PNGAPI png_get_signature(png_const_structp png_ptr, png_infop info_ptr)
PNG_CONST png_info FAR * png_const_infop
png_byte PNGAPI png_get_bit_depth(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_tRNS(png_const_structp png_ptr, png_infop info_ptr, png_bytep *trans_alpha, int *num_trans, png_color_16p *trans_color)
png_uint_32 PNGFAPI png_get_gAMA_fixed(png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *file_gamma)
png_byte PNGAPI png_get_filter_type(png_const_structp png_ptr, png_const_infop info_ptr)
#define PNG_OFFSET_MICROMETER
png_color_8 FAR * png_color_8p
png_uint_32 PNGAPI png_get_cHRM_fixed(png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *white_x, png_fixed_point *white_y, png_fixed_point *red_x, png_fixed_point *red_y, png_fixed_point *green_x, png_fixed_point *green_y, png_fixed_point *blue_x, png_fixed_point *blue_y)
png_int_32 png_fixed_point
char FAR *FAR * png_charpp
png_bytepp PNGAPI png_get_rows(png_const_structp png_ptr, png_const_infop info_ptr)
png_fixed_point PNGAPI png_get_y_offset_inches_fixed(png_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGFAPI png_get_cHRM_XYZ_fixed(png_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_red_X, png_fixed_point *int_red_Y, png_fixed_point *int_red_Z, png_fixed_point *int_green_X, png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, png_fixed_point *int_blue_Z)
int PNGAPI png_get_unknown_chunks(png_const_structp png_ptr, png_const_infop info_ptr, png_unknown_chunkpp unknowns)
png_uint_32 PNGAPI png_get_pHYs_dpi(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
png_sPLT_t FAR *FAR * png_sPLT_tpp
png_uint_32 PNGAPI png_get_iCCP(png_const_structp png_ptr, png_const_infop info_ptr, png_charpp name, int *compression_type, png_bytepp profile, png_uint_32 *proflen)
png_byte PNGAPI png_get_channels(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_bKGD(png_const_structp png_ptr, png_infop info_ptr, png_color_16p *background)
png_uint_32 PNGAPI png_get_x_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
png_voidp PNGAPI png_get_user_chunk_ptr(png_const_structp png_ptr)
png_byte PNGAPI png_get_rgb_to_gray_status(png_const_structp png_ptr)
png_uint_32 PNGAPI png_get_io_chunk_type(png_const_structp png_ptr)
png_size_t PNGAPI png_get_compression_buffer_size(png_const_structp png_ptr)
float PNGAPI png_get_pixel_aspect_ratio(png_const_structp png_ptr, png_const_infop info_ptr)
png_uint_32 PNGAPI png_get_pHYs(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
#define PNG_CSTRING_FROM_CHUNK(s, c)
png_fixed_point PNGAPI png_get_pixel_aspect_ratio_fixed(png_const_structp png_ptr, png_const_infop info_ptr)
png_color FAR * png_colorp