From 6878eb689955f7b82a1e38c75bc7b02debbd6b8f Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Mon, 29 Jun 2009 16:45:53 -0500 Subject: [PATCH] [devel] Relocate the INVERT_ALPHA function within png_read_png() and png_write_png(). --- ANNOUNCE | 2 ++ CHANGES | 2 +- pngread.c | 13 +++++++------ pngwrite.c | 11 ++++++----- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 8c71258dc..354735aa1 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -495,6 +495,8 @@ version 1.4.0beta66 [June 27, 2009] Refer to the libpng license instead of the libpng license in each file. version 1.4.0beta67 [June 29, 2009] + Relocated INVERT_ALPHA within png_read_png() and png_write_png() + to match its position in pngrtran.c. version 1.4.0betaN [future] Build shared libraries with -lz and sometimes -lm. diff --git a/CHANGES b/CHANGES index e459d8d86..c82f3e48a 100644 --- a/CHANGES +++ b/CHANGES @@ -2172,7 +2172,7 @@ version 1.4.0beta66 [June 27, 2009] Refer to the libpng license instead of the libpng license in each file. version 1.4.0beta67 [June 29, 2009] - Relocated INVERT_ALPHA withing png_read_png() and png_write_png() + Relocated INVERT_ALPHA within png_read_png() and png_write_png() to match its position in pngrtran.c. version 1.4.0betaN [future] diff --git a/pngread.c b/pngread.c index 575e03dec..9ef8fd76d 100644 --- a/pngread.c +++ b/pngread.c @@ -1195,12 +1195,6 @@ png_read_png(png_structp png_ptr, png_infop info_ptr, if (png_ptr == NULL) return; -#if defined(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 /* png_read_info() gives us all of the information from the * PNG file before the first IDAT (image data chunk). @@ -1301,6 +1295,13 @@ png_read_png(png_structp png_ptr, png_infop info_ptr, png_set_swap(png_ptr); #endif +#if defined(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 + /* We don't handle adding filler bytes */ /* Optional call to gamma correct and add the background to the palette diff --git a/pngwrite.c b/pngwrite.c index cc60d769b..27744a7b5 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1347,11 +1347,6 @@ png_write_png(png_structp png_ptr, png_infop info_ptr, { if (png_ptr == NULL || info_ptr == NULL) return; -#if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) - /* Invert the alpha channel from opacity to transparency */ - if (transforms & PNG_TRANSFORM_INVERT_ALPHA) - png_set_invert_alpha(png_ptr); -#endif /* Write the file header information. */ png_write_info(png_ptr, info_ptr); @@ -1411,6 +1406,12 @@ png_write_png(png_structp png_ptr, png_infop info_ptr, png_set_packswap(png_ptr); #endif +#if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) + /* Invert the alpha channel from opacity to transparency */ + if (transforms & PNG_TRANSFORM_INVERT_ALPHA) + png_set_invert_alpha(png_ptr); +#endif + /* ----------------------- end of transformations ------------------- */ /* Write the bits */