From 16ef7b6d79e84cd6e5ac5f7160d78d4c404ed378 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Mon, 12 Sep 2011 22:46:18 -0500 Subject: Fix Qt3 compilation against new libpng versions --- src/kernel/qpngio.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/kernel') diff --git a/src/kernel/qpngio.cpp b/src/kernel/qpngio.cpp index 95036e8..25ce927 100644 --- a/src/kernel/qpngio.cpp +++ b/src/kernel/qpngio.cpp @@ -162,7 +162,11 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr image.setColor( i, qRgba(c,c,c,0xff) ); } if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) { +#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=4 ) + const int g = info_ptr->trans_color.gray; +#else const int g = info_ptr->trans_values.gray; +#endif if (g < ncols) { image.setAlphaBuffer(TRUE); image.setColor(g, image.color(g) & RGB_MASK); @@ -190,7 +194,11 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr info_ptr->palette[i].red, info_ptr->palette[i].green, info_ptr->palette[i].blue, +#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=4 ) + info_ptr->trans_alpha[i] +#else info_ptr->trans[i] +#endif ) ); i++; @@ -324,9 +332,15 @@ void read_png_image(QImageIO* iio) png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) if (image.depth()==32 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { QRgb trans = 0xFF000000 | qRgb( +#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=4 ) + (info_ptr->trans_color.red << 8 >> bit_depth)&0xff, + (info_ptr->trans_color.green << 8 >> bit_depth)&0xff, + (info_ptr->trans_color.blue << 8 >> bit_depth)&0xff); +#else (info_ptr->trans_values.red << 8 >> bit_depth)&0xff, (info_ptr->trans_values.green << 8 >> bit_depth)&0xff, (info_ptr->trans_values.blue << 8 >> bit_depth)&0xff); +#endif for (uint y=0; ywidth; x++) { if (((uint**)jt)[y][x] == trans) { -- cgit v1.2.1