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)
29 if (png_ptr == NULL || info_ptr == NULL)
42 png_write_IHDR(png_ptr, info_ptr->width, info_ptr->height,
43 info_ptr->bit_depth, info_ptr->color_type, info_ptr->compression_type,
44 info_ptr->filter_type,
46 info_ptr->interlace_type);
53 if (info_ptr->valid & PNG_INFO_gAMA)
56 png_write_gAMA(png_ptr, info_ptr->gamma);
59 png_write_gAMA_fixed(png_ptr, info_ptr->int_gamma);
65 if (info_ptr->valid & PNG_INFO_sRGB)
66 png_write_sRGB(png_ptr, (int)info_ptr->srgb_intent);
69 if (info_ptr->valid & PNG_INFO_iCCP)
70 png_write_iCCP(png_ptr, info_ptr->iccp_name, PNG_COMPRESSION_TYPE_BASE,
71 info_ptr->iccp_profile, (int)info_ptr->iccp_proflen);
74 if (info_ptr->valid & PNG_INFO_sBIT)
75 png_write_sBIT(png_ptr, &(info_ptr->sig_bit), info_ptr->color_type);
78 if (info_ptr->valid & PNG_INFO_cHRM)
82 info_ptr->x_white, info_ptr->y_white,
83 info_ptr->x_red, info_ptr->y_red,
84 info_ptr->x_green, info_ptr->y_green,
85 info_ptr->x_blue, info_ptr->y_blue);
89 info_ptr->int_x_white, info_ptr->int_y_white,
90 info_ptr->int_x_red, info_ptr->int_y_red,
91 info_ptr->int_x_green, info_ptr->int_y_green,
92 info_ptr->int_x_blue, info_ptr->int_y_blue);
98 if (info_ptr->unknown_chunks_num)
104 for (up = info_ptr->unknown_chunks;
105 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
125 png_write_info(png_structp png_ptr, png_infop info_ptr)
133 if (png_ptr == NULL || info_ptr == NULL)
136 png_write_info_before_PLTE(png_ptr, info_ptr);
138 if (info_ptr->valid & PNG_INFO_PLTE)
139 png_write_PLTE(png_ptr, info_ptr->palette,
140 (png_uint_32)info_ptr->num_palette);
141 else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
145 if (info_ptr->valid & PNG_INFO_tRNS)
150 info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
153 for (j=0; j<(int)info_ptr->num_trans; j++)
154 info_ptr->trans[j] = (png_byte)(255 - info_ptr->trans[j]);
157 png_write_tRNS(png_ptr, info_ptr->trans, &(info_ptr->trans_values),
158 info_ptr->num_trans, info_ptr->color_type);
162 if (info_ptr->valid & PNG_INFO_bKGD)
163 png_write_bKGD(png_ptr, &(info_ptr->background), info_ptr->color_type);
166 if (info_ptr->valid & PNG_INFO_hIST)
167 png_write_hIST(png_ptr, info_ptr->hist, info_ptr->num_palette);
170 if (info_ptr->valid & PNG_INFO_oFFs)
171 png_write_oFFs(png_ptr, info_ptr->x_offset, info_ptr->y_offset,
172 info_ptr->offset_unit_type);
175 if (info_ptr->valid & PNG_INFO_pCAL)
176 png_write_pCAL(png_ptr, info_ptr->pcal_purpose, info_ptr->pcal_X0,
177 info_ptr->pcal_X1, info_ptr->pcal_type, info_ptr->pcal_nparams,
178 info_ptr->pcal_units, info_ptr->pcal_params);
181 if (info_ptr->valid & PNG_INFO_sCAL)
183 png_write_sCAL(png_ptr, (int)info_ptr->scal_unit,
184 info_ptr->scal_pixel_width, info_ptr->scal_pixel_height);
187 png_write_sCAL_s(png_ptr, (int)info_ptr->scal_unit,
188 info_ptr->scal_s_width, info_ptr->scal_s_height);
196 if (info_ptr->valid & PNG_INFO_pHYs)
197 png_write_pHYs(png_ptr, info_ptr->x_pixels_per_unit,
198 info_ptr->y_pixels_per_unit, info_ptr->phys_unit_type);
201 if (info_ptr->valid & PNG_INFO_tIME)
203 png_write_tIME(png_ptr, &(info_ptr->mod_time));
208 if (info_ptr->valid & PNG_INFO_sPLT)
209 for (i = 0; i < (int)info_ptr->splt_palettes_num; i++)
210 png_write_sPLT(png_ptr, info_ptr->splt_palettes + i);
214 for (i = 0; i < info_ptr->num_text; i++)
217 info_ptr->text[i].compression);
219 if (info_ptr->text[i].compression > 0)
224 info_ptr->text[i].compression,
225 info_ptr->text[i].key,
226 info_ptr->text[i].lang,
227 info_ptr->text[i].lang_key,
228 info_ptr->text[i].text);
233 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
236 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_zTXt)
240 png_write_zTXt(png_ptr, info_ptr->text[i].key,
241 info_ptr->text[i].text, 0,
242 info_ptr->text[i].compression);
247 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
249 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
253 png_write_tEXt(png_ptr, info_ptr->text[i].key,
254 info_ptr->text[i].text,
260 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
265 if (info_ptr->unknown_chunks_num)
271 for (up = info_ptr->unknown_chunks;
272 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
295 png_write_end(png_structp png_ptr, png_infop info_ptr)
304 if (info_ptr != NULL)
311 if ((info_ptr->valid & PNG_INFO_tIME) &&
313 png_write_tIME(png_ptr, &(info_ptr->mod_time));
317 for (i = 0; i < info_ptr->num_text; i++)
320 info_ptr->text[i].compression);
322 if (info_ptr->text[i].compression > 0)
327 info_ptr->text[i].compression,
328 info_ptr->text[i].key,
329 info_ptr->text[i].lang,
330 info_ptr->text[i].lang_key,
331 info_ptr->text[i].text);
336 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
338 else if (info_ptr->text[i].compression >= PNG_TEXT_COMPRESSION_zTXt)
342 png_write_zTXt(png_ptr, info_ptr->text[i].key,
343 info_ptr->text[i].text, 0,
344 info_ptr->text[i].compression);
349 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
351 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
355 png_write_tEXt(png_ptr, info_ptr->text[i].key,
356 info_ptr->text[i].text, 0);
362 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
367 if (info_ptr->unknown_chunks_num)
373 for (up = info_ptr->unknown_chunks;
374 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
1003 png_infop info_ptr = NULL;
1020 info_ptr = *info_ptr_ptr;
1022 if (info_ptr != NULL)
1024 png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
1036 png_destroy_struct_2((png_voidp)info_ptr, (png_free_ptr)free_fn,
1039 png_destroy_struct((png_voidp)info_ptr);
1448 png_write_png(png_structp png_ptr, png_infop info_ptr,
1451 if (png_ptr == NULL || info_ptr == NULL)
1460 png_write_info(png_ptr, info_ptr);
1475 && (info_ptr->valid & PNG_INFO_sBIT))
1476 png_set_shift(png_ptr, &info_ptr->sig_bit);
1520 if (info_ptr->valid & PNG_INFO_IDAT)
1521 png_write_image(png_ptr, info_ptr->row_pointers);
1524 png_write_end(png_ptr, info_ptr);