diff options
author | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2009-10-29 23:47:05 -0500 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2009-10-29 23:47:05 -0500 |
commit | 4b14b35208b3777ec138377bc347d48f7d7cb5d6 (patch) | |
tree | 24bb170cd5a4765c2327a7162e8af9bfbe641c77 /pngread.c | |
parent | bc2ab12f99f4def34b8b510870c54bccb652b08d (diff) | |
download | libpng-4b14b35208b3777ec138377bc347d48f7d7cb5d6.tar.gz |
[master] Ported functions from libpng-1.4.0rc01:
png_calloc(), png_get_io_state(),
png_get_io_chunk_name(), png_set_premultiply_alpha, and
png_do_read_premultiply_alpha().
Diffstat (limited to 'pngread.c')
-rw-r--r-- | pngread.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -349,6 +349,10 @@ png_read_info(png_structp png_ptr, png_infop info_ptr) png_size_t num_checked = png_ptr->sig_bytes, num_to_check = 8 - num_checked; +#ifdef PNG_IO_STATE_SUPPORTED + png_ptr->io_state = PNG_IO_READING | PNG_IO_SIGNATURE; +#endif + png_read_data(png_ptr, &(info_ptr->signature[num_checked]), num_to_check); png_ptr->sig_bytes = 8; @@ -1448,6 +1452,22 @@ png_read_png(png_structp png_ptr, png_infop info_ptr, png_set_swap(png_ptr); #endif +/* Added at libpng-1.2.41 */ +#ifdef PNG_READ_INVERT_ALPHA_SUPPORTED + /* Invert the alpha channel from opacity to transparency + */ + if (transforms & PNG_TRANSFORM_INVERT_ALPHA) + png_set_invert_alpha(png_ptr); +#endif + +/* Added at libpng-1.2.41 */ +#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED + /* Expand grayscale image to RGB + */ + if (transforms & PNG_TRANSFORM_GRAY_TO_RGB) + png_set_gray_to_rgb(png_ptr); +#endif + /* We don't handle adding filler bytes */ /* Optional call to gamma correct and add the background to the palette |