Prusa MINI Firmware overview
pngget.c File Reference
#include "pngpriv.h"

Functions

png_uint_32 PNGAPI png_get_valid (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 flag)
 
size_t PNGAPI png_get_rowbytes (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_bytepp PNGAPI png_get_rows (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_image_width (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_image_height (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_byte PNGAPI png_get_bit_depth (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_byte PNGAPI png_get_color_type (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_byte PNGAPI png_get_filter_type (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_byte PNGAPI png_get_interlace_type (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_byte PNGAPI png_get_compression_type (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_x_pixels_per_meter (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_y_pixels_per_meter (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_pixels_per_meter (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
float PNGAPI png_get_pixel_aspect_ratio (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_fixed_point PNGAPI png_get_pixel_aspect_ratio_fixed (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_int_32 PNGAPI png_get_x_offset_microns (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_int_32 PNGAPI png_get_y_offset_microns (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_int_32 PNGAPI png_get_x_offset_pixels (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_int_32 PNGAPI png_get_y_offset_pixels (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
static png_uint_32 ppi_from_ppm (png_uint_32 ppm)
 
png_uint_32 PNGAPI png_get_pixels_per_inch (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_x_pixels_per_inch (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_y_pixels_per_inch (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
static png_fixed_point png_fixed_inches_from_microns (png_const_structrp png_ptr, png_int_32 microns)
 
png_fixed_point PNGAPI png_get_x_offset_inches_fixed (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_fixed_point PNGAPI png_get_y_offset_inches_fixed (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
float PNGAPI png_get_x_offset_inches (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
float PNGAPI png_get_y_offset_inches (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_pHYs_dpi (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
 
png_byte PNGAPI png_get_channels (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_const_bytep PNGAPI png_get_signature (png_const_structrp png_ptr, png_const_inforp info_ptr)
 
png_uint_32 PNGAPI png_get_bKGD (png_const_structrp png_ptr, png_inforp info_ptr, png_color_16p *background)
 
png_uint_32 PNGAPI png_get_cHRM (png_const_structrp png_ptr, png_const_inforp 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_uint_32 PNGAPI png_get_cHRM_XYZ (png_const_structrp png_ptr, png_const_inforp 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)
 
png_uint_32 PNGAPI png_get_cHRM_XYZ_fixed (png_const_structrp png_ptr, png_const_inforp 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)
 
png_uint_32 PNGAPI png_get_cHRM_fixed (png_const_structrp png_ptr, png_const_inforp 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_uint_32 PNGAPI png_get_gAMA_fixed (png_const_structrp png_ptr, png_const_inforp info_ptr, png_fixed_point *file_gamma)
 
png_uint_32 PNGAPI png_get_gAMA (png_const_structrp png_ptr, png_const_inforp info_ptr, double *file_gamma)
 
png_uint_32 PNGAPI png_get_sRGB (png_const_structrp png_ptr, png_const_inforp info_ptr, int *file_srgb_intent)
 
png_uint_32 PNGAPI png_get_iCCP (png_const_structrp png_ptr, png_inforp info_ptr, png_charpp name, int *compression_type, png_bytepp profile, png_uint_32 *proflen)
 
int PNGAPI png_get_sPLT (png_const_structrp png_ptr, png_inforp info_ptr, png_sPLT_tpp spalettes)
 
png_uint_32 PNGAPI png_get_eXIf (png_const_structrp png_ptr, png_inforp info_ptr, png_bytep *exif)
 
png_uint_32 PNGAPI png_get_eXIf_1 (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 *num_exif, png_bytep *exif)
 
png_uint_32 PNGAPI png_get_hIST (png_const_structrp png_ptr, png_inforp info_ptr, png_uint_16p *hist)
 
png_uint_32 PNGAPI png_get_IHDR (png_const_structrp png_ptr, png_const_inforp 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)
 
png_uint_32 PNGAPI png_get_oFFs (png_const_structrp png_ptr, png_const_inforp info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)
 
png_uint_32 PNGAPI png_get_pCAL (png_const_structrp png_ptr, png_inforp 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_sCAL_fixed (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, png_fixed_point *width, png_fixed_point *height)
 
png_uint_32 PNGAPI png_get_sCAL (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, double *width, double *height)
 
png_uint_32 PNGAPI png_get_sCAL_s (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, png_charpp width, png_charpp height)
 
png_uint_32 PNGAPI png_get_pHYs (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
 
png_uint_32 PNGAPI png_get_PLTE (png_const_structrp png_ptr, png_inforp info_ptr, png_colorp *palette, int *num_palette)
 
png_uint_32 PNGAPI png_get_sBIT (png_const_structrp png_ptr, png_inforp info_ptr, png_color_8p *sig_bit)
 
int PNGAPI png_get_text (png_const_structrp png_ptr, png_inforp info_ptr, png_textp *text_ptr, int *num_text)
 
png_uint_32 PNGAPI png_get_tIME (png_const_structrp png_ptr, png_inforp info_ptr, png_timep *mod_time)
 
png_uint_32 PNGAPI png_get_tRNS (png_const_structrp png_ptr, png_inforp info_ptr, png_bytep *trans_alpha, int *num_trans, png_color_16p *trans_color)
 
int PNGAPI png_get_unknown_chunks (png_const_structrp png_ptr, png_inforp info_ptr, png_unknown_chunkpp unknowns)
 
png_byte PNGAPI png_get_rgb_to_gray_status (png_const_structrp png_ptr)
 
png_voidp PNGAPI png_get_user_chunk_ptr (png_const_structrp png_ptr)
 
size_t PNGAPI png_get_compression_buffer_size (png_const_structrp png_ptr)
 
png_uint_32 PNGAPI png_get_user_width_max (png_const_structrp png_ptr)
 
png_uint_32 PNGAPI png_get_user_height_max (png_const_structrp png_ptr)
 
png_uint_32 PNGAPI png_get_chunk_cache_max (png_const_structrp png_ptr)
 
png_alloc_size_t PNGAPI png_get_chunk_malloc_max (png_const_structrp png_ptr)
 
png_uint_32 PNGAPI png_get_io_state (png_const_structrp png_ptr)
 
png_uint_32 PNGAPI png_get_io_chunk_type (png_const_structrp png_ptr)
 
int PNGAPI png_get_palette_max (png_const_structp png_ptr, png_const_infop info_ptr)
 

Function Documentation

◆ png_get_valid()

png_uint_32 PNGAPI png_get_valid ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
png_uint_32  flag 
)
22 {
23  if (png_ptr != NULL && info_ptr != NULL)
24  return(info_ptr->valid & flag);
25 
26  return(0);
27 }

◆ png_get_rowbytes()

size_t PNGAPI png_get_rowbytes ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
31 {
32  if (png_ptr != NULL && info_ptr != NULL)
33  return(info_ptr->rowbytes);
34 
35  return(0);
36 }
Here is the caller graph for this function:

◆ png_get_rows()

png_bytepp PNGAPI png_get_rows ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
41 {
42  if (png_ptr != NULL && info_ptr != NULL)
43  return(info_ptr->row_pointers);
44 
45  return(0);
46 }

◆ png_get_image_width()

png_uint_32 PNGAPI png_get_image_width ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
53 {
54  if (png_ptr != NULL && info_ptr != NULL)
55  return info_ptr->width;
56 
57  return (0);
58 }

◆ png_get_image_height()

png_uint_32 PNGAPI png_get_image_height ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
62 {
63  if (png_ptr != NULL && info_ptr != NULL)
64  return info_ptr->height;
65 
66  return (0);
67 }

◆ png_get_bit_depth()

png_byte PNGAPI png_get_bit_depth ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
71 {
72  if (png_ptr != NULL && info_ptr != NULL)
73  return info_ptr->bit_depth;
74 
75  return (0);
76 }

◆ png_get_color_type()

png_byte PNGAPI png_get_color_type ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
80 {
81  if (png_ptr != NULL && info_ptr != NULL)
82  return info_ptr->color_type;
83 
84  return (0);
85 }

◆ png_get_filter_type()

png_byte PNGAPI png_get_filter_type ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
89 {
90  if (png_ptr != NULL && info_ptr != NULL)
91  return info_ptr->filter_type;
92 
93  return (0);
94 }

◆ png_get_interlace_type()

png_byte PNGAPI png_get_interlace_type ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
98 {
99  if (png_ptr != NULL && info_ptr != NULL)
100  return info_ptr->interlace_type;
101 
102  return (0);
103 }

◆ png_get_compression_type()

png_byte PNGAPI png_get_compression_type ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
107 {
108  if (png_ptr != NULL && info_ptr != NULL)
109  return info_ptr->compression_type;
110 
111  return (0);
112 }

◆ png_get_x_pixels_per_meter()

png_uint_32 PNGAPI png_get_x_pixels_per_meter ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
117 {
118 #ifdef PNG_pHYs_SUPPORTED
119  if (png_ptr != NULL && info_ptr != NULL &&
120  (info_ptr->valid & PNG_INFO_pHYs) != 0)
121  {
122  png_debug1(1, "in %s retrieval function",
123  "png_get_x_pixels_per_meter");
124 
125  if (info_ptr->phys_unit_type == PNG_RESOLUTION_METER)
126  return (info_ptr->x_pixels_per_unit);
127  }
128 #else
131 #endif
132 
133  return (0);
134 }
Here is the caller graph for this function:

◆ png_get_y_pixels_per_meter()

png_uint_32 PNGAPI png_get_y_pixels_per_meter ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
139 {
140 #ifdef PNG_pHYs_SUPPORTED
141  if (png_ptr != NULL && info_ptr != NULL &&
142  (info_ptr->valid & PNG_INFO_pHYs) != 0)
143  {
144  png_debug1(1, "in %s retrieval function",
145  "png_get_y_pixels_per_meter");
146 
147  if (info_ptr->phys_unit_type == PNG_RESOLUTION_METER)
148  return (info_ptr->y_pixels_per_unit);
149  }
150 #else
153 #endif
154 
155  return (0);
156 }
Here is the caller graph for this function:

◆ png_get_pixels_per_meter()

png_uint_32 PNGAPI png_get_pixels_per_meter ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
160 {
161 #ifdef PNG_pHYs_SUPPORTED
162  if (png_ptr != NULL && info_ptr != NULL &&
163  (info_ptr->valid & PNG_INFO_pHYs) != 0)
164  {
165  png_debug1(1, "in %s retrieval function", "png_get_pixels_per_meter");
166 
167  if (info_ptr->phys_unit_type == PNG_RESOLUTION_METER &&
168  info_ptr->x_pixels_per_unit == info_ptr->y_pixels_per_unit)
169  return (info_ptr->x_pixels_per_unit);
170  }
171 #else
174 #endif
175 
176  return (0);
177 }
Here is the caller graph for this function:

◆ png_get_pixel_aspect_ratio()

float PNGAPI png_get_pixel_aspect_ratio ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
183 {
184 #ifdef PNG_READ_pHYs_SUPPORTED
185  if (png_ptr != NULL && info_ptr != NULL &&
186  (info_ptr->valid & PNG_INFO_pHYs) != 0)
187  {
188  png_debug1(1, "in %s retrieval function", "png_get_aspect_ratio");
189 
190  if (info_ptr->x_pixels_per_unit != 0)
191  return ((float)((float)info_ptr->y_pixels_per_unit
192  /(float)info_ptr->x_pixels_per_unit));
193  }
194 #else
197 #endif
198 
199  return ((float)0.0);
200 }

◆ png_get_pixel_aspect_ratio_fixed()

png_fixed_point PNGAPI png_get_pixel_aspect_ratio_fixed ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
207 {
208 #ifdef PNG_READ_pHYs_SUPPORTED
209  if (png_ptr != NULL && info_ptr != NULL &&
210  (info_ptr->valid & PNG_INFO_pHYs) != 0 &&
211  info_ptr->x_pixels_per_unit > 0 && info_ptr->y_pixels_per_unit > 0 &&
212  info_ptr->x_pixels_per_unit <= PNG_UINT_31_MAX &&
213  info_ptr->y_pixels_per_unit <= PNG_UINT_31_MAX)
214  {
215  png_fixed_point res;
216 
217  png_debug1(1, "in %s retrieval function", "png_get_aspect_ratio_fixed");
218 
219  /* The following casts work because a PNG 4 byte integer only has a valid
220  * range of 0..2^31-1; otherwise the cast might overflow.
221  */
222  if (png_muldiv(&res, (png_int_32)info_ptr->y_pixels_per_unit, PNG_FP_1,
223  (png_int_32)info_ptr->x_pixels_per_unit) != 0)
224  return res;
225  }
226 #else
229 #endif
230 
231  return 0;
232 }
Here is the call graph for this function:

◆ png_get_x_offset_microns()

png_int_32 PNGAPI png_get_x_offset_microns ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
237 {
238 #ifdef PNG_oFFs_SUPPORTED
239  if (png_ptr != NULL && info_ptr != NULL &&
240  (info_ptr->valid & PNG_INFO_oFFs) != 0)
241  {
242  png_debug1(1, "in %s retrieval function", "png_get_x_offset_microns");
243 
244  if (info_ptr->offset_unit_type == PNG_OFFSET_MICROMETER)
245  return (info_ptr->x_offset);
246  }
247 #else
250 #endif
251 
252  return (0);
253 }
Here is the caller graph for this function:

◆ png_get_y_offset_microns()

png_int_32 PNGAPI png_get_y_offset_microns ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
257 {
258 #ifdef PNG_oFFs_SUPPORTED
259  if (png_ptr != NULL && info_ptr != NULL &&
260  (info_ptr->valid & PNG_INFO_oFFs) != 0)
261  {
262  png_debug1(1, "in %s retrieval function", "png_get_y_offset_microns");
263 
264  if (info_ptr->offset_unit_type == PNG_OFFSET_MICROMETER)
265  return (info_ptr->y_offset);
266  }
267 #else
270 #endif
271 
272  return (0);
273 }
Here is the caller graph for this function:

◆ png_get_x_offset_pixels()

png_int_32 PNGAPI png_get_x_offset_pixels ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
277 {
278 #ifdef PNG_oFFs_SUPPORTED
279  if (png_ptr != NULL && info_ptr != NULL &&
280  (info_ptr->valid & PNG_INFO_oFFs) != 0)
281  {
282  png_debug1(1, "in %s retrieval function", "png_get_x_offset_pixels");
283 
284  if (info_ptr->offset_unit_type == PNG_OFFSET_PIXEL)
285  return (info_ptr->x_offset);
286  }
287 #else
290 #endif
291 
292  return (0);
293 }

◆ png_get_y_offset_pixels()

png_int_32 PNGAPI png_get_y_offset_pixels ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
297 {
298 #ifdef PNG_oFFs_SUPPORTED
299  if (png_ptr != NULL && info_ptr != NULL &&
300  (info_ptr->valid & PNG_INFO_oFFs) != 0)
301  {
302  png_debug1(1, "in %s retrieval function", "png_get_y_offset_pixels");
303 
304  if (info_ptr->offset_unit_type == PNG_OFFSET_PIXEL)
305  return (info_ptr->y_offset);
306  }
307 #else
310 #endif
311 
312  return (0);
313 }

◆ ppi_from_ppm()

static png_uint_32 ppi_from_ppm ( png_uint_32  ppm)
static
318 {
319 #if 0
320  /* The conversion is *(2.54/100), in binary (32 digits):
321  * .00000110100000001001110101001001
322  */
323  png_uint_32 t1001, t1101;
324  ppm >>= 1; /* .1 */
325  t1001 = ppm + (ppm >> 3); /* .1001 */
326  t1101 = t1001 + (ppm >> 1); /* .1101 */
327  ppm >>= 20; /* .000000000000000000001 */
328  t1101 += t1101 >> 15; /* .1101000000000001101 */
329  t1001 >>= 11; /* .000000000001001 */
330  t1001 += t1001 >> 12; /* .000000000001001000000001001 */
331  ppm += t1001; /* .000000000001001000001001001 */
332  ppm += t1101; /* .110100000001001110101001001 */
333  return (ppm + 16) >> 5;/* .00000110100000001001110101001001 */
334 #else
335  /* The argument is a PNG unsigned integer, so it is not permitted
336  * to be bigger than 2^31.
337  */
338  png_fixed_point result;
339  if (ppm <= PNG_UINT_31_MAX && png_muldiv(&result, (png_int_32)ppm, 127,
340  5000) != 0)
341  return (png_uint_32)result;
342 
343  /* Overflow. */
344  return 0;
345 #endif
346 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ png_get_pixels_per_inch()

png_uint_32 PNGAPI png_get_pixels_per_inch ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
350 {
352 }
Here is the call graph for this function:

◆ png_get_x_pixels_per_inch()

png_uint_32 PNGAPI png_get_x_pixels_per_inch ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
356 {
358 }
Here is the call graph for this function:

◆ png_get_y_pixels_per_inch()

png_uint_32 PNGAPI png_get_y_pixels_per_inch ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
362 {
364 }
Here is the call graph for this function:

◆ png_fixed_inches_from_microns()

static png_fixed_point png_fixed_inches_from_microns ( png_const_structrp  png_ptr,
png_int_32  microns 
)
static
369 {
370  /* Convert from meters * 1,000,000 to inches * 100,000, meters to
371  * inches is simply *(100/2.54), so we want *(10/2.54) == 500/127.
372  * Notice that this can overflow - a warning is output and 0 is
373  * returned.
374  */
375  return png_muldiv_warn(png_ptr, microns, 500, 127);
376 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ png_get_x_offset_inches_fixed()

png_fixed_point PNGAPI png_get_x_offset_inches_fixed ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
Here is the call graph for this function:

◆ png_get_y_offset_inches_fixed()

png_fixed_point PNGAPI png_get_y_offset_inches_fixed ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
Here is the call graph for this function:

◆ png_get_x_offset_inches()

float PNGAPI png_get_x_offset_inches ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
400 {
401  /* To avoid the overflow do the conversion directly in floating
402  * point.
403  */
404  return (float)(png_get_x_offset_microns(png_ptr, info_ptr) * .00003937);
405 }
Here is the call graph for this function:

◆ png_get_y_offset_inches()

float PNGAPI png_get_y_offset_inches ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
411 {
412  /* To avoid the overflow do the conversion directly in floating
413  * point.
414  */
415  return (float)(png_get_y_offset_microns(png_ptr, info_ptr) * .00003937);
416 }
Here is the call graph for this function:

◆ png_get_pHYs_dpi()

png_uint_32 PNGAPI png_get_pHYs_dpi ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
png_uint_32 res_x,
png_uint_32 res_y,
int *  unit_type 
)
423 {
424  png_uint_32 retval = 0;
425 
426  if (png_ptr != NULL && info_ptr != NULL &&
427  (info_ptr->valid & PNG_INFO_pHYs) != 0)
428  {
429  png_debug1(1, "in %s retrieval function", "pHYs");
430 
431  if (res_x != NULL)
432  {
433  *res_x = info_ptr->x_pixels_per_unit;
434  retval |= PNG_INFO_pHYs;
435  }
436 
437  if (res_y != NULL)
438  {
439  *res_y = info_ptr->y_pixels_per_unit;
440  retval |= PNG_INFO_pHYs;
441  }
442 
443  if (unit_type != NULL)
444  {
445  *unit_type = (int)info_ptr->phys_unit_type;
446  retval |= PNG_INFO_pHYs;
447 
448  if (*unit_type == 1)
449  {
450  if (res_x != NULL) *res_x = (png_uint_32)(*res_x * .0254 + .50);
451  if (res_y != NULL) *res_y = (png_uint_32)(*res_y * .0254 + .50);
452  }
453  }
454  }
455 
456  return (retval);
457 }
Here is the call graph for this function:

◆ png_get_channels()

png_byte PNGAPI png_get_channels ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
468 {
469  if (png_ptr != NULL && info_ptr != NULL)
470  return(info_ptr->channels);
471 
472  return (0);
473 }
Here is the caller graph for this function:

◆ png_get_signature()

png_const_bytep PNGAPI png_get_signature ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr 
)
478 {
479  if (png_ptr != NULL && info_ptr != NULL)
480  return(info_ptr->signature);
481 
482  return (NULL);
483 }

◆ png_get_bKGD()

png_uint_32 PNGAPI png_get_bKGD ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_color_16p background 
)
490 {
491  if (png_ptr != NULL && info_ptr != NULL &&
492  (info_ptr->valid & PNG_INFO_bKGD) != 0 &&
493  background != NULL)
494  {
495  png_debug1(1, "in %s retrieval function", "bKGD");
496 
497  *background = &(info_ptr->background);
498  return (PNG_INFO_bKGD);
499  }
500 
501  return (0);
502 }

◆ png_get_cHRM()

png_uint_32 PNGAPI png_get_cHRM ( png_const_structrp  png_ptr,
png_const_inforp  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 
)
515 {
516  /* Quiet API change: this code used to only return the end points if a cHRM
517  * chunk was present, but the end points can also come from iCCP or sRGB
518  * chunks, so in 1.6.0 the png_get_ APIs return the end points regardless and
519  * the png_set_ APIs merely check that set end points are mutually
520  * consistent.
521  */
522  if (png_ptr != NULL && info_ptr != NULL &&
523  (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
524  {
525  png_debug1(1, "in %s retrieval function", "cHRM");
526 
527  if (white_x != NULL)
528  *white_x = png_float(png_ptr,
529  info_ptr->colorspace.end_points_xy.whitex, "cHRM white X");
530  if (white_y != NULL)
531  *white_y = png_float(png_ptr,
532  info_ptr->colorspace.end_points_xy.whitey, "cHRM white Y");
533  if (red_x != NULL)
534  *red_x = png_float(png_ptr, info_ptr->colorspace.end_points_xy.redx,
535  "cHRM red X");
536  if (red_y != NULL)
537  *red_y = png_float(png_ptr, info_ptr->colorspace.end_points_xy.redy,
538  "cHRM red Y");
539  if (green_x != NULL)
540  *green_x = png_float(png_ptr,
541  info_ptr->colorspace.end_points_xy.greenx, "cHRM green X");
542  if (green_y != NULL)
543  *green_y = png_float(png_ptr,
544  info_ptr->colorspace.end_points_xy.greeny, "cHRM green Y");
545  if (blue_x != NULL)
546  *blue_x = png_float(png_ptr, info_ptr->colorspace.end_points_xy.bluex,
547  "cHRM blue X");
548  if (blue_y != NULL)
549  *blue_y = png_float(png_ptr, info_ptr->colorspace.end_points_xy.bluey,
550  "cHRM blue Y");
551  return (PNG_INFO_cHRM);
552  }
553 
554  return (0);
555 }

◆ png_get_cHRM_XYZ()

png_uint_32 PNGAPI png_get_cHRM_XYZ ( png_const_structrp  png_ptr,
png_const_inforp  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 
)
562 {
563  if (png_ptr != NULL && info_ptr != NULL &&
564  (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
565  {
566  png_debug1(1, "in %s retrieval function", "cHRM_XYZ(float)");
567 
568  if (red_X != NULL)
569  *red_X = png_float(png_ptr, info_ptr->colorspace.end_points_XYZ.red_X,
570  "cHRM red X");
571  if (red_Y != NULL)
572  *red_Y = png_float(png_ptr, info_ptr->colorspace.end_points_XYZ.red_Y,
573  "cHRM red Y");
574  if (red_Z != NULL)
575  *red_Z = png_float(png_ptr, info_ptr->colorspace.end_points_XYZ.red_Z,
576  "cHRM red Z");
577  if (green_X != NULL)
579  info_ptr->colorspace.end_points_XYZ.green_X, "cHRM green X");
580  if (green_Y != NULL)
582  info_ptr->colorspace.end_points_XYZ.green_Y, "cHRM green Y");
583  if (green_Z != NULL)
585  info_ptr->colorspace.end_points_XYZ.green_Z, "cHRM green Z");
586  if (blue_X != NULL)
588  info_ptr->colorspace.end_points_XYZ.blue_X, "cHRM blue X");
589  if (blue_Y != NULL)
591  info_ptr->colorspace.end_points_XYZ.blue_Y, "cHRM blue Y");
592  if (blue_Z != NULL)
593  *blue_Z = png_float(png_ptr,
594  info_ptr->colorspace.end_points_XYZ.blue_Z, "cHRM blue Z");
595  return (PNG_INFO_cHRM);
596  }
597 
598  return (0);
599 }

◆ png_get_cHRM_XYZ_fixed()

png_uint_32 PNGAPI png_get_cHRM_XYZ_fixed ( png_const_structrp  png_ptr,
png_const_inforp  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 
)
610 {
611  if (png_ptr != NULL && info_ptr != NULL &&
612  (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
613  {
614  png_debug1(1, "in %s retrieval function", "cHRM_XYZ");
615 
616  if (int_red_X != NULL)
617  *int_red_X = info_ptr->colorspace.end_points_XYZ.red_X;
618  if (int_red_Y != NULL)
619  *int_red_Y = info_ptr->colorspace.end_points_XYZ.red_Y;
620  if (int_red_Z != NULL)
621  *int_red_Z = info_ptr->colorspace.end_points_XYZ.red_Z;
622  if (int_green_X != NULL)
623  *int_green_X = info_ptr->colorspace.end_points_XYZ.green_X;
624  if (int_green_Y != NULL)
625  *int_green_Y = info_ptr->colorspace.end_points_XYZ.green_Y;
626  if (int_green_Z != NULL)
627  *int_green_Z = info_ptr->colorspace.end_points_XYZ.green_Z;
628  if (int_blue_X != NULL)
629  *int_blue_X = info_ptr->colorspace.end_points_XYZ.blue_X;
630  if (int_blue_Y != NULL)
631  *int_blue_Y = info_ptr->colorspace.end_points_XYZ.blue_Y;
632  if (int_blue_Z != NULL)
633  *int_blue_Z = info_ptr->colorspace.end_points_XYZ.blue_Z;
634  return (PNG_INFO_cHRM);
635  }
636 
637  return (0);
638 }

◆ png_get_cHRM_fixed()

png_uint_32 PNGAPI png_get_cHRM_fixed ( png_const_structrp  png_ptr,
png_const_inforp  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 
)
645 {
646  png_debug1(1, "in %s retrieval function", "cHRM");
647 
648  if (png_ptr != NULL && info_ptr != NULL &&
649  (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
650  {
651  if (white_x != NULL)
652  *white_x = info_ptr->colorspace.end_points_xy.whitex;
653  if (white_y != NULL)
654  *white_y = info_ptr->colorspace.end_points_xy.whitey;
655  if (red_x != NULL)
656  *red_x = info_ptr->colorspace.end_points_xy.redx;
657  if (red_y != NULL)
658  *red_y = info_ptr->colorspace.end_points_xy.redy;
659  if (green_x != NULL)
660  *green_x = info_ptr->colorspace.end_points_xy.greenx;
661  if (green_y != NULL)
662  *green_y = info_ptr->colorspace.end_points_xy.greeny;
663  if (blue_x != NULL)
664  *blue_x = info_ptr->colorspace.end_points_xy.bluex;
665  if (blue_y != NULL)
666  *blue_y = info_ptr->colorspace.end_points_xy.bluey;
667  return (PNG_INFO_cHRM);
668  }
669 
670  return (0);
671 }

◆ png_get_gAMA_fixed()

png_uint_32 PNGAPI png_get_gAMA_fixed ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
png_fixed_point file_gamma 
)
680 {
681  png_debug1(1, "in %s retrieval function", "gAMA");
682 
683  if (png_ptr != NULL && info_ptr != NULL &&
684  (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_GAMMA) != 0 &&
685  file_gamma != NULL)
686  {
687  *file_gamma = info_ptr->colorspace.gamma;
688  return (PNG_INFO_gAMA);
689  }
690 
691  return (0);
692 }

◆ png_get_gAMA()

png_uint_32 PNGAPI png_get_gAMA ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
double *  file_gamma 
)
699 {
700  png_debug1(1, "in %s retrieval function", "gAMA(float)");
701 
702  if (png_ptr != NULL && info_ptr != NULL &&
703  (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_GAMMA) != 0 &&
704  file_gamma != NULL)
705  {
706  *file_gamma = png_float(png_ptr, info_ptr->colorspace.gamma,
707  "png_get_gAMA");
708  return (PNG_INFO_gAMA);
709  }
710 
711  return (0);
712 }

◆ png_get_sRGB()

png_uint_32 PNGAPI png_get_sRGB ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
int *  file_srgb_intent 
)
720 {
721  png_debug1(1, "in %s retrieval function", "sRGB");
722 
723  if (png_ptr != NULL && info_ptr != NULL &&
724  (info_ptr->valid & PNG_INFO_sRGB) != 0 && file_srgb_intent != NULL)
725  {
726  *file_srgb_intent = info_ptr->colorspace.rendering_intent;
727  return (PNG_INFO_sRGB);
728  }
729 
730  return (0);
731 }

◆ png_get_iCCP()

png_uint_32 PNGAPI png_get_iCCP ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_charpp  name,
int *  compression_type,
png_bytepp  profile,
png_uint_32 proflen 
)
739 {
740  png_debug1(1, "in %s retrieval function", "iCCP");
741 
742  if (png_ptr != NULL && info_ptr != NULL &&
743  (info_ptr->valid & PNG_INFO_iCCP) != 0 &&
744  name != NULL && profile != NULL && proflen != NULL)
745  {
746  *name = info_ptr->iccp_name;
747  *profile = info_ptr->iccp_profile;
748  *proflen = png_get_uint_32(info_ptr->iccp_profile);
749  /* This is somewhat irrelevant since the profile data returned has
750  * actually been uncompressed.
751  */
752  if (compression_type != NULL)
753  *compression_type = PNG_COMPRESSION_TYPE_BASE;
754  return (PNG_INFO_iCCP);
755  }
756 
757  return (0);
758 
759 }

◆ png_get_sPLT()

int PNGAPI png_get_sPLT ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_sPLT_tpp  spalettes 
)
766 {
767  if (png_ptr != NULL && info_ptr != NULL && spalettes != NULL)
768  {
769  *spalettes = info_ptr->splt_palettes;
770  return info_ptr->splt_palettes_num;
771  }
772 
773  return (0);
774 }

◆ png_get_eXIf()

png_uint_32 PNGAPI png_get_eXIf ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_bytep exif 
)
781 {
782  png_warning(png_ptr, "png_get_eXIf does not work; use png_get_eXIf_1");
784  PNG_UNUSED(exif)
785  return 0;
786 }
Here is the call graph for this function:

◆ png_get_eXIf_1()

png_uint_32 PNGAPI png_get_eXIf_1 ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
png_uint_32 num_exif,
png_bytep exif 
)
791 {
792  png_debug1(1, "in %s retrieval function", "eXIf");
793 
794  if (png_ptr != NULL && info_ptr != NULL &&
795  (info_ptr->valid & PNG_INFO_eXIf) != 0 && exif != NULL)
796  {
797  *num_exif = info_ptr->num_exif;
798  *exif = info_ptr->exif;
799  return (PNG_INFO_eXIf);
800  }
801 
802  return (0);
803 }

◆ png_get_hIST()

png_uint_32 PNGAPI png_get_hIST ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_uint_16p hist 
)
810 {
811  png_debug1(1, "in %s retrieval function", "hIST");
812 
813  if (png_ptr != NULL && info_ptr != NULL &&
814  (info_ptr->valid & PNG_INFO_hIST) != 0 && hist != NULL)
815  {
816  *hist = info_ptr->hist;
817  return (PNG_INFO_hIST);
818  }
819 
820  return (0);
821 }

◆ png_get_IHDR()

png_uint_32 PNGAPI png_get_IHDR ( png_const_structrp  png_ptr,
png_const_inforp  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 
)
829 {
830  png_debug1(1, "in %s retrieval function", "IHDR");
831 
832  if (png_ptr == NULL || info_ptr == NULL)
833  return (0);
834 
835  if (width != NULL)
836  *width = info_ptr->width;
837 
838  if (height != NULL)
839  *height = info_ptr->height;
840 
841  if (bit_depth != NULL)
842  *bit_depth = info_ptr->bit_depth;
843 
844  if (color_type != NULL)
845  *color_type = info_ptr->color_type;
846 
847  if (compression_type != NULL)
848  *compression_type = info_ptr->compression_type;
849 
850  if (filter_type != NULL)
851  *filter_type = info_ptr->filter_type;
852 
853  if (interlace_type != NULL)
854  *interlace_type = info_ptr->interlace_type;
855 
856  /* This is redundant if we can be sure that the info_ptr values were all
857  * assigned in png_set_IHDR(). We do the check anyhow in case an
858  * application has ignored our advice not to mess with the members
859  * of info_ptr directly.
860  */
861  png_check_IHDR(png_ptr, info_ptr->width, info_ptr->height,
862  info_ptr->bit_depth, info_ptr->color_type, info_ptr->interlace_type,
863  info_ptr->compression_type, info_ptr->filter_type);
864 
865  return (1);
866 }
Here is the call graph for this function:

◆ png_get_oFFs()

png_uint_32 PNGAPI png_get_oFFs ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
png_int_32 offset_x,
png_int_32 offset_y,
int *  unit_type 
)
872 {
873  png_debug1(1, "in %s retrieval function", "oFFs");
874 
875  if (png_ptr != NULL && info_ptr != NULL &&
876  (info_ptr->valid & PNG_INFO_oFFs) != 0 &&
877  offset_x != NULL && offset_y != NULL && unit_type != NULL)
878  {
879  *offset_x = info_ptr->x_offset;
880  *offset_y = info_ptr->y_offset;
881  *unit_type = (int)info_ptr->offset_unit_type;
882  return (PNG_INFO_oFFs);
883  }
884 
885  return (0);
886 }

◆ png_get_pCAL()

png_uint_32 PNGAPI png_get_pCAL ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_charp purpose,
png_int_32 X0,
png_int_32 X1,
int *  type,
int *  nparams,
png_charp units,
png_charpp params 
)
894 {
895  png_debug1(1, "in %s retrieval function", "pCAL");
896 
897  if (png_ptr != NULL && info_ptr != NULL &&
898  (info_ptr->valid & PNG_INFO_pCAL) != 0 &&
899  purpose != NULL && X0 != NULL && X1 != NULL && type != NULL &&
900  nparams != NULL && units != NULL && params != NULL)
901  {
902  *purpose = info_ptr->pcal_purpose;
903  *X0 = info_ptr->pcal_X0;
904  *X1 = info_ptr->pcal_X1;
905  *type = (int)info_ptr->pcal_type;
906  *nparams = (int)info_ptr->pcal_nparams;
907  *units = info_ptr->pcal_units;
908  *params = info_ptr->pcal_params;
909  return (PNG_INFO_pCAL);
910  }
911 
912  return (0);
913 }

◆ png_get_sCAL_fixed()

png_uint_32 PNGAPI png_get_sCAL_fixed ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
int *  unit,
png_fixed_point width,
png_fixed_point height 
)
923 {
924  if (png_ptr != NULL && info_ptr != NULL &&
925  (info_ptr->valid & PNG_INFO_sCAL) != 0)
926  {
927  *unit = info_ptr->scal_unit;
928  /*TODO: make this work without FP support; the API is currently eliminated
929  * if neither floating point APIs nor internal floating point arithmetic
930  * are enabled.
931  */
932  *width = png_fixed(png_ptr, atof(info_ptr->scal_s_width), "sCAL width");
933  *height = png_fixed(png_ptr, atof(info_ptr->scal_s_height),
934  "sCAL height");
935  return (PNG_INFO_sCAL);
936  }
937 
938  return(0);
939 }
Here is the call graph for this function:

◆ png_get_sCAL()

png_uint_32 PNGAPI png_get_sCAL ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
int *  unit,
double *  width,
double *  height 
)
946 {
947  if (png_ptr != NULL && info_ptr != NULL &&
948  (info_ptr->valid & PNG_INFO_sCAL) != 0)
949  {
950  *unit = info_ptr->scal_unit;
951  *width = atof(info_ptr->scal_s_width);
952  *height = atof(info_ptr->scal_s_height);
953  return (PNG_INFO_sCAL);
954  }
955 
956  return(0);
957 }

◆ png_get_sCAL_s()

png_uint_32 PNGAPI png_get_sCAL_s ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
int *  unit,
png_charpp  width,
png_charpp  height 
)
962 {
963  if (png_ptr != NULL && info_ptr != NULL &&
964  (info_ptr->valid & PNG_INFO_sCAL) != 0)
965  {
966  *unit = info_ptr->scal_unit;
967  *width = info_ptr->scal_s_width;
968  *height = info_ptr->scal_s_height;
969  return (PNG_INFO_sCAL);
970  }
971 
972  return(0);
973 }

◆ png_get_pHYs()

png_uint_32 PNGAPI png_get_pHYs ( png_const_structrp  png_ptr,
png_const_inforp  info_ptr,
png_uint_32 res_x,
png_uint_32 res_y,
int *  unit_type 
)
980 {
981  png_uint_32 retval = 0;
982 
983  png_debug1(1, "in %s retrieval function", "pHYs");
984 
985  if (png_ptr != NULL && info_ptr != NULL &&
986  (info_ptr->valid & PNG_INFO_pHYs) != 0)
987  {
988  if (res_x != NULL)
989  {
990  *res_x = info_ptr->x_pixels_per_unit;
991  retval |= PNG_INFO_pHYs;
992  }
993 
994  if (res_y != NULL)
995  {
996  *res_y = info_ptr->y_pixels_per_unit;
997  retval |= PNG_INFO_pHYs;
998  }
999 
1000  if (unit_type != NULL)
1001  {
1002  *unit_type = (int)info_ptr->phys_unit_type;
1003  retval |= PNG_INFO_pHYs;
1004  }
1005  }
1006 
1007  return (retval);
1008 }

◆ png_get_PLTE()

png_uint_32 PNGAPI png_get_PLTE ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_colorp palette,
int *  num_palette 
)
1014 {
1015  png_debug1(1, "in %s retrieval function", "PLTE");
1016 
1017  if (png_ptr != NULL && info_ptr != NULL &&
1018  (info_ptr->valid & PNG_INFO_PLTE) != 0 && palette != NULL)
1019  {
1020  *palette = info_ptr->palette;
1021  *num_palette = info_ptr->num_palette;
1022  png_debug1(3, "num_palette = %d", *num_palette);
1023  return (PNG_INFO_PLTE);
1024  }
1025 
1026  return (0);
1027 }

◆ png_get_sBIT()

png_uint_32 PNGAPI png_get_sBIT ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_color_8p sig_bit 
)
1033 {
1034  png_debug1(1, "in %s retrieval function", "sBIT");
1035 
1036  if (png_ptr != NULL && info_ptr != NULL &&
1037  (info_ptr->valid & PNG_INFO_sBIT) != 0 && sig_bit != NULL)
1038  {
1039  *sig_bit = &(info_ptr->sig_bit);
1040  return (PNG_INFO_sBIT);
1041  }
1042 
1043  return (0);
1044 }

◆ png_get_text()

int PNGAPI png_get_text ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_textp text_ptr,
int *  num_text 
)
1051 {
1052  if (png_ptr != NULL && info_ptr != NULL && info_ptr->num_text > 0)
1053  {
1054  png_debug1(1, "in 0x%lx retrieval function",
1055  (unsigned long)png_ptr->chunk_name);
1056 
1057  if (text_ptr != NULL)
1058  *text_ptr = info_ptr->text;
1059 
1060  if (num_text != NULL)
1061  *num_text = info_ptr->num_text;
1062 
1063  return info_ptr->num_text;
1064  }
1065 
1066  if (num_text != NULL)
1067  *num_text = 0;
1068 
1069  return(0);
1070 }

◆ png_get_tIME()

png_uint_32 PNGAPI png_get_tIME ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_timep mod_time 
)
1077 {
1078  png_debug1(1, "in %s retrieval function", "tIME");
1079 
1080  if (png_ptr != NULL && info_ptr != NULL &&
1081  (info_ptr->valid & PNG_INFO_tIME) != 0 && mod_time != NULL)
1082  {
1083  *mod_time = &(info_ptr->mod_time);
1084  return (PNG_INFO_tIME);
1085  }
1086 
1087  return (0);
1088 }

◆ png_get_tRNS()

png_uint_32 PNGAPI png_get_tRNS ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_bytep trans_alpha,
int *  num_trans,
png_color_16p trans_color 
)
1095 {
1096  png_uint_32 retval = 0;
1097  if (png_ptr != NULL && info_ptr != NULL &&
1098  (info_ptr->valid & PNG_INFO_tRNS) != 0)
1099  {
1100  png_debug1(1, "in %s retrieval function", "tRNS");
1101 
1102  if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
1103  {
1104  if (trans_alpha != NULL)
1105  {
1106  *trans_alpha = info_ptr->trans_alpha;
1107  retval |= PNG_INFO_tRNS;
1108  }
1109 
1110  if (trans_color != NULL)
1111  *trans_color = &(info_ptr->trans_color);
1112  }
1113 
1114  else /* if (info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) */
1115  {
1116  if (trans_color != NULL)
1117  {
1118  *trans_color = &(info_ptr->trans_color);
1119  retval |= PNG_INFO_tRNS;
1120  }
1121 
1122  if (trans_alpha != NULL)
1123  *trans_alpha = NULL;
1124  }
1125 
1126  if (num_trans != NULL)
1127  {
1128  *num_trans = info_ptr->num_trans;
1129  retval |= PNG_INFO_tRNS;
1130  }
1131  }
1132 
1133  return (retval);
1134 }

◆ png_get_unknown_chunks()

int PNGAPI png_get_unknown_chunks ( png_const_structrp  png_ptr,
png_inforp  info_ptr,
png_unknown_chunkpp  unknowns 
)
1141 {
1142  if (png_ptr != NULL && info_ptr != NULL && unknowns != NULL)
1143  {
1144  *unknowns = info_ptr->unknown_chunks;
1145  return info_ptr->unknown_chunks_num;
1146  }
1147 
1148  return (0);
1149 }

◆ png_get_rgb_to_gray_status()

png_byte PNGAPI png_get_rgb_to_gray_status ( png_const_structrp  png_ptr)
1155 {
1156  return (png_byte)(png_ptr ? png_ptr->rgb_to_gray_status : 0);
1157 }

◆ png_get_user_chunk_ptr()

png_voidp PNGAPI png_get_user_chunk_ptr ( png_const_structrp  png_ptr)
1163 {
1164  return (png_ptr ? png_ptr->user_chunk_ptr : NULL);
1165 }

◆ png_get_compression_buffer_size()

size_t PNGAPI png_get_compression_buffer_size ( png_const_structrp  png_ptr)
1170 {
1171  if (png_ptr == NULL)
1172  return 0;
1173 
1174 #ifdef PNG_WRITE_SUPPORTED
1175  if ((png_ptr->mode & PNG_IS_READ_STRUCT) != 0)
1176 #endif
1177  {
1178 #ifdef PNG_SEQUENTIAL_READ_SUPPORTED
1179  return png_ptr->IDAT_read_size;
1180 #else
1181  return PNG_IDAT_READ_SIZE;
1182 #endif
1183  }
1184 
1185 #ifdef PNG_WRITE_SUPPORTED
1186  else
1187  return png_ptr->zbuffer_size;
1188 #endif
1189 }

◆ png_get_user_width_max()

png_uint_32 PNGAPI png_get_user_width_max ( png_const_structrp  png_ptr)
1196 {
1197  return (png_ptr ? png_ptr->user_width_max : 0);
1198 }

◆ png_get_user_height_max()

png_uint_32 PNGAPI png_get_user_height_max ( png_const_structrp  png_ptr)
1202 {
1203  return (png_ptr ? png_ptr->user_height_max : 0);
1204 }

◆ png_get_chunk_cache_max()

png_uint_32 PNGAPI png_get_chunk_cache_max ( png_const_structrp  png_ptr)
1209 {
1210  return (png_ptr ? png_ptr->user_chunk_cache_max : 0);
1211 }

◆ png_get_chunk_malloc_max()

png_alloc_size_t PNGAPI png_get_chunk_malloc_max ( png_const_structrp  png_ptr)
1216 {
1217  return (png_ptr ? png_ptr->user_chunk_malloc_max : 0);
1218 }

◆ png_get_io_state()

png_uint_32 PNGAPI png_get_io_state ( png_const_structrp  png_ptr)
1225 {
1226  return png_ptr->io_state;
1227 }

◆ png_get_io_chunk_type()

png_uint_32 PNGAPI png_get_io_chunk_type ( png_const_structrp  png_ptr)
1231 {
1232  return png_ptr->chunk_name;
1233 }

◆ png_get_palette_max()

int PNGAPI png_get_palette_max ( png_const_structp  png_ptr,
png_const_infop  info_ptr 
)
1240 {
1241  if (png_ptr != NULL && info_ptr != NULL)
1242  return png_ptr->num_palette_max;
1243 
1244  return (-1);
1245 }
PNG_UNUSED
#define PNG_UNUSED(param)
Definition: pngpriv.h:438
int_green_X
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point png_fixed_point png_fixed_point * int_green_X
Definition: png.h:1949
int_blue_Y
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point * int_blue_Y
Definition: png.h:1949
PNG_INFO_tIME
#define PNG_INFO_tIME
Definition: png.h:741
PNG_UINT_31_MAX
#define PNG_UINT_31_MAX
Definition: png.h:649
g29_auto.offset_y
offset_y
Definition: g29_auto.py:163
png_fixed
png_fixed_point png_fixed(png_const_structrp png_ptr, double fp, png_const_charp text)
Definition: png.c:3316
PNG_INFO_tRNS
#define PNG_INFO_tRNS
Definition: png.h:736
png_fixed_inches_from_microns
static png_fixed_point png_fixed_inches_from_microns(png_const_structrp png_ptr, png_int_32 microns)
Definition: pngget.c:368
PNG_INFO_pCAL
#define PNG_INFO_pCAL
Definition: png.h:742
PNG_INFO_oFFs
#define PNG_INFO_oFFs
Definition: png.h:740
unit
png_const_structrp png_const_inforp int * unit
Definition: png.h:2161
int_red_Y
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point * int_red_Y
Definition: png.h:1949
int_red_Z
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point png_fixed_point * int_red_Z
Definition: png.h:1949
type
uint8_t type
Definition: UsbCore.h:184
PNG_IS_READ_STRUCT
#define PNG_IS_READ_STRUCT
Definition: pngpriv.h:639
red_Y
png_const_structrp png_const_inforp double double * red_Y
Definition: png.h:1939
int_green_Y
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point * int_green_Y
Definition: png.h:1949
PNG_INFO_PLTE
#define PNG_INFO_PLTE
Definition: png.h:735
width
png_const_structrp png_const_inforp int png_fixed_point * width
Definition: png.h:2161
int_red_X
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point * int_red_X
Definition: png.h:1949
png_get_y_offset_microns
png_int_32 PNGAPI png_get_y_offset_microns(png_const_structrp png_ptr, png_const_inforp info_ptr)
Definition: pngget.c:256
PNG_RESOLUTION_METER
#define PNG_RESOLUTION_METER
Definition: png.h:711
red_X
png_const_structrp png_const_inforp double * red_X
Definition: png.h:1939
NULL
#define NULL
Definition: usbd_def.h:53
PNG_OFFSET_PIXEL
#define PNG_OFFSET_PIXEL
Definition: png.h:692
png_ptr
png_structrp png_ptr
Definition: png.h:1083
info_ptr
png_const_structrp png_const_inforp info_ptr
Definition: png.h:1939
PNG_INFO_gAMA
#define PNG_INFO_gAMA
Definition: png.h:732
PNG_INFO_bKGD
#define PNG_INFO_bKGD
Definition: png.h:737
png_uint_32
unsigned int png_uint_32
Definition: pngconf.h:511
PNG_INFO_eXIf
#define PNG_INFO_eXIf
Definition: png.h:748
png_float
#define png_float(png_ptr, fixed, s)
Definition: pngpriv.h:781
int_green_Z
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point * int_green_Z
Definition: png.h:1949
blue_X
png_const_structrp png_const_inforp double double double double double double double * blue_X
Definition: png.h:1939
PNG_INFO_sRGB
#define PNG_INFO_sRGB
Definition: png.h:743
png_muldiv_warn
png_fixed_point png_muldiv_warn(png_const_structrp png_ptr, png_fixed_point a, png_int_32 times, png_int_32 divisor)
Definition: png.c:3472
png_muldiv
int png_muldiv(png_fixed_point_p res, png_fixed_point a, png_int_32 times, png_int_32 divisor)
Definition: png.c:3349
png_fixed_point
png_int_32 png_fixed_point
Definition: pngconf.h:574
PNG_COMPRESSION_TYPE_BASE
#define PNG_COMPRESSION_TYPE_BASE
Definition: png.h:678
green_X
png_const_structrp png_const_inforp double double double double * green_X
Definition: png.h:1939
PNG_INFO_sCAL
#define PNG_INFO_sCAL
Definition: png.h:746
if
if(size<=((png_alloc_size_t) -1) - ob)
Definition: pngwrite.c:2176
png_get_y_pixels_per_meter
png_uint_32 PNGAPI png_get_y_pixels_per_meter(png_const_structrp png_ptr, png_const_inforp info_ptr)
Definition: pngget.c:137
PNG_OFFSET_MICROMETER
#define PNG_OFFSET_MICROMETER
Definition: png.h:693
png_get_uint_32
#define png_get_uint_32(buf)
Definition: png.h:2598
PNG_IDAT_READ_SIZE
#define PNG_IDAT_READ_SIZE
Definition: pnglibconf.h:195
red_Z
png_const_structrp png_const_inforp double double double * red_Z
Definition: png.h:1939
PNG_INFO_pHYs
#define PNG_INFO_pHYs
Definition: png.h:739
green_Z
png_const_structrp png_const_inforp double double double double double double * green_Z
Definition: png.h:1939
png_check_IHDR
void png_check_IHDR(png_const_structrp 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)
Definition: png.c:2547
png_get_x_offset_microns
png_int_32 PNGAPI png_get_x_offset_microns(png_const_structrp png_ptr, png_const_inforp info_ptr)
Definition: pngget.c:236
png_debug1
#define png_debug1(l, m, p1)
Definition: pngdebug.h:148
int_blue_X
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point * int_blue_X
Definition: png.h:1949
PNG_INFO_cHRM
#define PNG_INFO_cHRM
Definition: png.h:734
createSpeedLookupTable.int
int
Definition: createSpeedLookupTable.py:15
PNG_INFO_sBIT
#define PNG_INFO_sBIT
Definition: png.h:733
png_get_x_pixels_per_meter
png_uint_32 PNGAPI png_get_x_pixels_per_meter(png_const_structrp png_ptr, png_const_inforp info_ptr)
Definition: pngget.c:115
blue_Y
png_const_structrp png_const_inforp double double double double double double double double * blue_Y
Definition: png.h:1939
PNG_INFO_hIST
#define PNG_INFO_hIST
Definition: png.h:738
green_Y
png_const_structrp png_const_inforp double double double double double * green_Y
Definition: png.h:1939
ppi_from_ppm
static png_uint_32 ppi_from_ppm(png_uint_32 ppm)
Definition: pngget.c:317
png_get_pixels_per_meter
png_uint_32 PNGAPI png_get_pixels_per_meter(png_const_structrp png_ptr, png_const_inforp info_ptr)
Definition: pngget.c:159
PNG_FP_1
#define PNG_FP_1
Definition: png.h:656
PNG_INFO_iCCP
#define PNG_INFO_iCCP
Definition: png.h:744
png_warning
void PNGAPI png_warning(png_const_structrp png_ptr, png_const_charp warning_message)
Definition: pngerror.c:216
png_int_32
png_int_32(PNGAPI png_get_int_32)(png_const_bytep buf)
Definition: pngrutil.c:84
PNG_COLOR_TYPE_PALETTE
#define PNG_COLOR_TYPE_PALETTE
Definition: png.h:669
g29_auto.offset_x
offset_x
Definition: g29_auto.py:158