Home | History | Annotate | Download | only in libpng-1.2.46

Lines Matching refs:info_ptr

24  * you to supply a PNG_INFO_ flag, and check info_ptr->valid before writing
30 png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
34 if (png_ptr == NULL || info_ptr == NULL)
49 png_write_IHDR(png_ptr, info_ptr->width, info_ptr->height,
50 info_ptr->bit_depth, info_ptr->color_type, info_ptr->compression_type,
51 info_ptr->filter_type,
53 info_ptr->interlace_type);
61 if (info_ptr->valid & PNG_INFO_gAMA)
64 png_write_gAMA(png_ptr, info_ptr->gamma);
67 png_write_gAMA_fixed(png_ptr, info_ptr->int_gamma);
73 if (info_ptr->valid & PNG_INFO_sRGB)
74 png_write_sRGB(png_ptr, (int)info_ptr->srgb_intent);
77 if (info_ptr->valid & PNG_INFO_iCCP)
78 png_write_iCCP(png_ptr, info_ptr->iccp_name, PNG_COMPRESSION_TYPE_BASE,
79 info_ptr->iccp_profile, (int)info_ptr->iccp_proflen);
82 if (info_ptr->valid & PNG_INFO_sBIT)
83 png_write_sBIT(png_ptr, &(info_ptr->sig_bit), info_ptr->color_type);
86 if (info_ptr->valid & PNG_INFO_cHRM)
90 info_ptr->x_white, info_ptr->y_white,
91 info_ptr->x_red, info_ptr->y_red,
92 info_ptr->x_green, info_ptr->y_green,
93 info_ptr->x_blue, info_ptr->y_blue);
97 info_ptr->int_x_white, info_ptr->int_y_white,
98 info_ptr->int_x_red, info_ptr->int_y_red,
99 info_ptr->int_x_green, info_ptr->int_y_green,
100 info_ptr->int_x_blue, info_ptr->int_y_blue);
106 if (info_ptr->unknown_chunks_num)
112 for (up = info_ptr->unknown_chunks;
113 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
135 png_write_info(png_structp png_ptr, png_infop info_ptr)
143 if (png_ptr == NULL || info_ptr == NULL)
146 png_write_info_before_PLTE(png_ptr, info_ptr);
148 if (info_ptr->valid & PNG_INFO_PLTE)
149 png_write_PLTE(png_ptr, info_ptr->palette,
150 (png_uint_32)info_ptr->num_palette);
151 else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
155 if (info_ptr->valid & PNG_INFO_tRNS)
160 info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
163 for (j = 0; j<(int)info_ptr->num_trans; j++)
164 info_ptr->trans[j] = (png_byte)(255 - info_ptr->trans[j]);
167 png_write_tRNS(png_ptr, info_ptr->trans, &(info_ptr->trans_values),
168 info_ptr->num_trans, info_ptr->color_type);
172 if (info_ptr->valid & PNG_INFO_bKGD)
173 png_write_bKGD(png_ptr, &(info_ptr->background), info_ptr->color_type);
176 if (info_ptr->valid & PNG_INFO_hIST)
177 png_write_hIST(png_ptr, info_ptr->hist, info_ptr->num_palette);
180 if (info_ptr->valid & PNG_INFO_oFFs)
181 png_write_oFFs(png_ptr, info_ptr->x_offset, info_ptr->y_offset,
182 info_ptr->offset_unit_type);
185 if (info_ptr->valid & PNG_INFO_pCAL)
186 png_write_pCAL(png_ptr, info_ptr->pcal_purpose, info_ptr->pcal_X0,
187 info_ptr->pcal_X1, info_ptr->pcal_type, info_ptr->pcal_nparams,
188 info_ptr->pcal_units, info_ptr->pcal_params);
192 if (info_ptr->valid & PNG_INFO_sCAL)
195 png_write_sCAL(png_ptr, (int)info_ptr->scal_unit,
196 info_ptr->scal_pixel_width, info_ptr->scal_pixel_height);
199 png_write_sCAL_s(png_ptr, (int)info_ptr->scal_unit,
200 info_ptr->scal_s_width, info_ptr->scal_s_height);
210 if (info_ptr->valid & PNG_INFO_pHYs)
211 png_write_pHYs(png_ptr, info_ptr->x_pixels_per_unit,
212 info_ptr->y_pixels_per_unit, info_ptr->phys_unit_type);
216 if (info_ptr->valid & PNG_INFO_tIME)
218 png_write_tIME(png_ptr, &(info_ptr->mod_time));
224 if (info_ptr->valid & PNG_INFO_sPLT)
225 for (i = 0; i < (int)info_ptr->splt_palettes_num; i++)
226 png_write_sPLT(png_ptr, info_ptr->splt_palettes + i);
231 for (i = 0; i < info_ptr->num_text; i++)
234 info_ptr->text[i].compression);
236 if (info_ptr->text[i].compression > 0)
241 info_ptr->text[i].compression,
242 info_ptr->text[i].key,
243 info_ptr->text[i].lang,
244 info_ptr->text[i].lang_key,
245 info_ptr->text[i].text);
250 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
253 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_zTXt)
257 png_write_zTXt(png_ptr, info_ptr->text[i].key,
258 info_ptr->text[i].text, 0,
259 info_ptr->text[i].compression);
264 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
266 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
270 png_write_tEXt(png_ptr, info_ptr->text[i].key,
271 info_ptr->text[i].text,
274 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
284 if (info_ptr->unknown_chunks_num)
290 for (up = info_ptr->unknown_chunks;
291 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
315 png_write_end(png_structp png_ptr, png_infop info_ptr)
325 if (info_ptr != NULL)
332 if ((info_ptr->valid & PNG_INFO_tIME) &&
334 png_write_tIME(png_ptr, &(info_ptr->mod_time));
338 for (i = 0; i < info_ptr->num_text; i++)
341 info_ptr->text[i].compression);
343 if (info_ptr->text[i].compression > 0)
348 info_ptr->text[i].compression,
349 info_ptr->text[i].key,
350 info_ptr->text[i].lang,
351 info_ptr->text[i].lang_key,
352 info_ptr->text[i].text);
357 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
359 else if (info_ptr->text[i].compression >= PNG_TEXT_COMPRESSION_zTXt)
363 png_write_zTXt(png_ptr, info_ptr->text[i].key,
364 info_ptr->text[i].text, 0,
365 info_ptr->text[i].compression);
370 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
372 else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
376 png_write_tEXt(png_ptr, info_ptr->text[i].key,
377 info_ptr->text[i].text, 0);
383 info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
388 if (info_ptr->unknown_chunks_num)
394 for (up = info_ptr->unknown_chunks;
395 up < info_ptr->unknown_chunks + info_ptr->unknown_chunks_num;
1043 png_infop info_ptr = NULL;
1069 info_ptr = *info_ptr_ptr;
1071 if (info_ptr != NULL)
1075 png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
1088 png_destroy_struct_2((png_voidp)info_ptr, (png_free_ptr)free_fn,
1091 png_destroy_struct((png_voidp)info_ptr);
1510 png_write_png(png_structp png_ptr, png_infop info_ptr,
1513 if (png_ptr == NULL || info_ptr == NULL)
1517 png_write_info(png_ptr, info_ptr);
1532 && (info_ptr->valid & PNG_INFO_sBIT))
1533 png_set_shift(png_ptr, &info_ptr->sig_bit);
1583 if (info_ptr->valid & PNG_INFO_IDAT)
1584 png_write_image(png_ptr, info_ptr->row_pointers);
1587 png_write_end(png_ptr, info_ptr);