Lines Matching defs:info_ptr
20 * you to supply a PNG_INFO_ flag, and check info_ptr->valid before writing
26 png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
40 png_write_IHDR(png_ptr, info_ptr->width, info_ptr->height,
41 info_ptr->bit_depth, info_ptr->color_type, info_ptr->compression_type,
42 info_ptr->filter_type,
44 info_ptr->interlace_type);
51 if (info_ptr->valid & PNG_INFO_gAMA)
54 png_write_gAMA(png_ptr, info_ptr->gamma);
57 png_write_gAMA_fixed(png_ptr, info_ptr->int_gamma);
63 if (info_ptr->valid & PNG_INFO_sRGB)
64 png_write_sRGB(png_ptr, (int)info_ptr->srgb_intent);
67 if (info_ptr->valid & PNG_INFO_iCCP)
68 png_write_iCCP(png_ptr, info_ptr->iccp_name, PNG_COMPRESSION_TYPE_BASE,
69 info_ptr->iccp_profile, (int)info_ptr->iccp_proflen);
72 if (info_ptr->valid & PNG_INFO_sBIT)
73 png_write_sBIT(png_ptr, &(info_ptr->sig_bit), info_ptr->color_type);
76 if (info_ptr->valid & PNG_INFO_cHRM)
80 info_ptr->x_white, info_ptr->y_white,
81 info_ptr->x_red, info_ptr->y_red,
82 info_ptr->x_green, info_ptr->y_green,
83 info_ptr->x_blue, info_ptr->y_blue);
87 info_ptr->int_x_white, info_ptr->int_y_white,
88 info_ptr->int_x_red, info_ptr->int_y_red,
89 info_ptr->int_x_green, info_ptr->int_y_green,
90 info_ptr->int_x_blue, info_ptr->int_y_blue);
96 if (info_ptr->unknown_chunks_num)
102 for (up = info_ptr->unknown_chunks;
103 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
123 png_write_info(png_structp png_ptr, png_infop info_ptr)
131 png_write_info_before_PLTE(png_ptr, info_ptr);
133 if (info_ptr->valid & PNG_INFO_PLTE)
134 png_write_PLTE(png_ptr, info_ptr->palette,
135 (png_uint_32)info_ptr->num_palette);
136 else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
140 if (info_ptr->valid & PNG_INFO_tRNS)
145 info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
148 for (j=0; j<(int)info_ptr->num_trans; j++)
149 info_ptr->trans[j] = (png_byte)(255 - info_ptr->trans[j]);
152 png_write_tRNS(png_ptr, info_ptr->trans, &(info_ptr->trans_values),
153 info_ptr->num_trans, info_ptr->color_type);
157 if (info_ptr->valid & PNG_INFO_bKGD)
158 png_write_bKGD(png_ptr, &(info_ptr->background), info_ptr->color_type);
161 if (info_ptr->valid & PNG_INFO_hIST)
162 png_write_hIST(png_ptr, info_ptr->hist, info_ptr->num_palette);
165 if (info_ptr->valid & PNG_INFO_oFFs)
166 png_write_oFFs(png_ptr, info_ptr->x_offset, info_ptr->y_offset,
167 info_ptr->offset_unit_type);
170 if (info_ptr->valid & PNG_INFO_pCAL)
171 png_write_pCAL(png_ptr, info_ptr->pcal_purpose, info_ptr->pcal_X0,
172 info_ptr->pcal_X1, info_ptr->pcal_type, info_ptr->pcal_nparams,
173 info_ptr->pcal_units, info_ptr->pcal_params);
176 if (info_ptr->valid & PNG_INFO_sCAL)
178 png_write_sCAL(png_ptr, (int)info_ptr->scal_unit,
179 info_ptr->scal_pixel_width, info_ptr->scal_pixel_height);
182 png_write_sCAL_s(png_ptr, (int)info_ptr->scal_unit,
183 info_ptr->scal_s_width, info_ptr->scal_s_height);
191 if (info_ptr->valid & PNG_INFO_pHYs)
192 png_write_pHYs(png_ptr, info_ptr->x_pixels_per_unit,
193 info_ptr->y_pixels_per_unit, info_ptr->phys_unit_type);
196 if (info_ptr->valid & PNG_INFO_tIME)
198 png_write_tIME(png_ptr, &(info_ptr->mod_time));
203 if (info_ptr->valid & PNG_INFO_sPLT)
204 for (i = 0; i < (int)info_ptr->splt_palettes_num; i++)
205 png_write_sPLT(png_ptr, info_ptr->splt_palettes + i);
209 for (i = 0; i < info_ptr->num_text; i++)
212 info_ptr->text[i].compression);
214 if (info_ptr->text[i].compression > 0)
219 info_ptr->text[i].compression,
220 info_ptr->text[i].key,
221 info_ptr->text[i].lang,
222 info_ptr->text[i].lang_key,
223 info_ptr->text[i].text);
228 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
231 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_zTXt)
235 png_write_zTXt(png_ptr, info_ptr->text[i].key,
236 info_ptr->text[i].text, 0,
237 info_ptr->text[i].compression);
242 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
244 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
248 png_write_tEXt(png_ptr, info_ptr->text[i].key,
249 info_ptr->text[i].text,
255 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
260 if (info_ptr->unknown_chunks_num)
266 for (up = info_ptr->unknown_chunks;
267 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
290 png_write_end(png_structp png_ptr, png_infop info_ptr)
297 if (info_ptr != NULL)
304 if ((info_ptr->valid & PNG_INFO_tIME) &&
306 png_write_tIME(png_ptr, &(info_ptr->mod_time));
310 for (i = 0; i < info_ptr->num_text; i++)
313 info_ptr->text[i].compression);
315 if (info_ptr->text[i].compression > 0)
320 info_ptr->text[i].compression,
321 info_ptr->text[i].key,
322 info_ptr->text[i].lang,
323 info_ptr->text[i].lang_key,
324 info_ptr->text[i].text);
329 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
331 else if (info_ptr->text[i].compression >= PNG_TEXT_COMPRESSION_zTXt)
335 png_write_zTXt(png_ptr, info_ptr->text[i].key,
336 info_ptr->text[i].text, 0,
337 info_ptr->text[i].compression);
342 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
344 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
348 png_write_tEXt(png_ptr, info_ptr->text[i].key,
349 info_ptr->text[i].text, 0);
355 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
360 if (info_ptr->unknown_chunks_num)
366 for (up = info_ptr->unknown_chunks;
367 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
970 png_infop info_ptr = NULL;
987 info_ptr = *info_ptr_ptr;
989 if (info_ptr != NULL)
991 png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
1003 png_destroy_struct_2((png_voidp)info_ptr, (png_free_ptr)free_fn,
1006 png_destroy_struct((png_voidp)info_ptr);
1384 png_write_png(png_structp png_ptr, png_infop info_ptr,
1394 png_write_info(png_ptr, info_ptr);
1409 && (info_ptr->valid & PNG_INFO_sBIT))
1410 png_set_shift(png_ptr, &info_ptr->sig_bit);
1454 if (info_ptr->valid & PNG_INFO_IDAT)
1455 png_write_image(png_ptr, info_ptr->row_pointers);
1458 png_write_end(png_ptr, info_ptr);