diff options
author | Dirk Meyer <dinoex@FreeBSD.org> | 2010-03-28 15:30:42 +0000 |
---|---|---|
committer | Dirk Meyer <dinoex@FreeBSD.org> | 2010-03-28 15:30:42 +0000 |
commit | feda0b054525c11374a230307b15e562c0a93283 (patch) | |
tree | 6f315afa63f19ce7b6dad8c8af59d081f04aac6b /graphics/GraphicsMagick12 | |
parent | - fix build for png-1.4.1 (diff) |
- fix build for png-1.4.1
Notes
Notes:
svn path=/head/; revision=251642
Diffstat (limited to 'graphics/GraphicsMagick12')
-rw-r--r-- | graphics/GraphicsMagick12/Makefile | 1 | ||||
-rw-r--r-- | graphics/GraphicsMagick12/files/patch-coders__png.c | 184 |
2 files changed, 185 insertions, 0 deletions
diff --git a/graphics/GraphicsMagick12/Makefile b/graphics/GraphicsMagick12/Makefile index ff7e42043397..0fce08b1589d 100644 --- a/graphics/GraphicsMagick12/Makefile +++ b/graphics/GraphicsMagick12/Makefile @@ -54,6 +54,7 @@ USE_LDCONFIG= yes ALL_TARGET= -j`${SYSCTL} -n hw.ncpu` +CFLAGS+= -DPNG_DEPSTRUCT= CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \ LDFLAGS="${CONFIGURE_LDFLAGS}" CONFIGURE_LDFLAGS=-L${LOCALBASE}/lib diff --git a/graphics/GraphicsMagick12/files/patch-coders__png.c b/graphics/GraphicsMagick12/files/patch-coders__png.c new file mode 100644 index 000000000000..df3c5041e522 --- /dev/null +++ b/graphics/GraphicsMagick12/files/patch-coders__png.c @@ -0,0 +1,184 @@ +--- coders/png.c.orig 2010-01-06 23:01:31.000000000 +0100 ++++ coders/png.c 2010-03-28 17:21:20.000000000 +0200 +@@ -1955,13 +1955,13 @@ + Image has a transparent background. + */ + transparent_color.red= +- (Quantum)(ping_info->trans_values.red & bit_mask); ++ (Quantum)(ping_info->trans_color.red & bit_mask); + transparent_color.green= +- (Quantum) (ping_info->trans_values.green & bit_mask); ++ (Quantum) (ping_info->trans_color.green & bit_mask); + transparent_color.blue= +- (Quantum) (ping_info->trans_values.blue & bit_mask); ++ (Quantum) (ping_info->trans_color.blue & bit_mask); + transparent_color.opacity= +- (Quantum) (ping_info->trans_values.gray & bit_mask); ++ (Quantum) (ping_info->trans_color.gray & bit_mask); + if (ping_info->color_type == PNG_COLOR_TYPE_GRAY) + { + transparent_color.red=transparent_color.opacity; +@@ -2469,7 +2469,7 @@ + index=indexes[x]; + if (index < ping_info->num_trans) + q->opacity= +- ScaleCharToQuantum(255-ping_info->trans[index]); ++ ScaleCharToQuantum(255-ping_info->trans_alpha[index]); + else + q->opacity=OpaqueOpacity; + q++; +@@ -6258,13 +6258,13 @@ + /* + Identify which colormap entry is transparent. + */ +- ping_info->trans=MagickAllocateMemory(unsigned char *,number_colors); +- if (ping_info->trans == (unsigned char *) NULL) ++ ping_info->trans_alpha=MagickAllocateMemory(unsigned char *,number_colors); ++ if (ping_info->trans_alpha == (unsigned char *) NULL) + ThrowWriterException(ResourceLimitError,MemoryAllocationFailed, + image); + assert(number_colors <= 256); + for (i=0; i < (long) number_colors; i++) +- ping_info->trans[i]=255; ++ ping_info->trans_alpha[i]=255; + for (y=0; y < (long) image->rows; y++) + { + register const PixelPacket +@@ -6284,7 +6284,7 @@ + + index=indexes[x]; + assert((unsigned long) index < number_colors); +- ping_info->trans[index]=(png_byte) (255- ++ ping_info->trans_alpha[index]=(png_byte) (255- + ScaleQuantumToChar(p->opacity)); + } + p++; +@@ -6292,14 +6292,14 @@ + } + ping_info->num_trans=0; + for (i=0; i < (long) number_colors; i++) +- if (ping_info->trans[i] != 255) ++ if (ping_info->trans_alpha[i] != 255) + ping_info->num_trans=(unsigned short) (i+1); + if (ping_info->num_trans == 0) + ping_info->valid&=(~PNG_INFO_tRNS); + if (!(ping_info->valid & PNG_INFO_tRNS)) + ping_info->num_trans=0; + if (ping_info->num_trans == 0) +- MagickFreeMemory(ping_info->trans); ++ MagickFreeMemory(ping_info->trans_alpha); + /* + Identify which colormap entry is the background color. + */ +@@ -6441,12 +6441,12 @@ + (p->opacity != OpaqueOpacity)) + { + ping_info->valid|=PNG_INFO_tRNS; +- ping_info->trans_values.red=ScaleQuantumToShort(p->red)&mask; +- ping_info->trans_values.green=ScaleQuantumToShort(p->green)&mask; +- ping_info->trans_values.blue=ScaleQuantumToShort(p->blue)&mask; +- ping_info->trans_values.gray= ++ ping_info->trans_color.red=ScaleQuantumToShort(p->red)&mask; ++ ping_info->trans_color.green=ScaleQuantumToShort(p->green)&mask; ++ ping_info->trans_color.blue=ScaleQuantumToShort(p->blue)&mask; ++ ping_info->trans_color.gray= + (png_uint_16) ScaleQuantumToShort(PixelIntensity(p))&mask; +- ping_info->trans_values.index=(unsigned char) ++ ping_info->trans_color.index=(unsigned char) + (ScaleQuantumToChar(MaxRGB-p->opacity)); + } + } +@@ -6467,7 +6467,7 @@ + { + if (p->opacity != OpaqueOpacity) + { +- if (!RGBColorMatchExact(ping_info->trans_values,*p)) ++ if (!RGBColorMatchExact(ping_info->trans_color,*p)) + { + break; /* Can't use RGB + tRNS for multiple + transparent colors. */ +@@ -6480,7 +6480,7 @@ + } + else + { +- if (RGBColorMatchExact(ping_info->trans_values,*p)) ++ if (RGBColorMatchExact(ping_info->trans_color,*p)) + break; /* Can't use RGB + tRNS when another pixel + having the same RGB samples is + transparent. */ +@@ -6498,10 +6498,10 @@ + ping_info->color_type &= 0x03; /* changes 4 or 6 to 0 or 2 */ + if (image->depth == 8) + { +- ping_info->trans_values.red&=0xff; +- ping_info->trans_values.green&=0xff; +- ping_info->trans_values.blue&=0xff; +- ping_info->trans_values.gray&=0xff; ++ ping_info->trans_color.red&=0xff; ++ ping_info->trans_color.green&=0xff; ++ ping_info->trans_color.blue&=0xff; ++ ping_info->trans_color.gray&=0xff; + } + } + } +@@ -6517,7 +6517,7 @@ + { + ping_info->color_type=PNG_COLOR_TYPE_GRAY; + if (save_image_depth == 16 && image->depth == 8) +- ping_info->trans_values.gray*=0x0101; ++ ping_info->trans_color.gray*=0x0101; + } + if (image->depth > QuantumDepth) + image->depth=QuantumDepth; +@@ -6701,13 +6701,13 @@ + ping_info->num_trans=0; + if (ping_info->num_trans != 0) + { +- ping_info->trans=MagickAllocateMemory(unsigned char *, ++ ping_info->trans_alpha=MagickAllocateMemory(unsigned char *, + number_colors); +- if (ping_info->trans == (unsigned char *) NULL) ++ if (ping_info->trans_alpha == (unsigned char *) NULL) + ThrowWriterException(ResourceLimitError, + MemoryAllocationFailed,image); + for (i=0; i < (long) number_colors; i++) +- ping_info->trans[i]=(png_byte) trans[i]; ++ ping_info->trans_alpha[i]=(png_byte) trans[i]; + } + } + +@@ -6726,10 +6726,10 @@ + image->depth=8; + if ((save_image_depth == 16) && (image->depth == 8)) + { +- ping_info->trans_values.red*=0x0101; +- ping_info->trans_values.green*=0x0101; +- ping_info->trans_values.blue*=0x0101; +- ping_info->trans_values.gray*=0x0101; ++ ping_info->trans_color.red*=0x0101; ++ ping_info->trans_color.green*=0x0101; ++ ping_info->trans_color.blue*=0x0101; ++ ping_info->trans_color.gray*=0x0101; + } + } + +@@ -6756,8 +6756,8 @@ + " Setting up bKGD chunk"); + png_set_bKGD(ping,ping_info,&background); + +- ping_info->trans_values.gray=(png_uint_16)(maxval* +- ping_info->trans_values.gray/MaxRGB); ++ ping_info->trans_color.gray=(png_uint_16)(maxval* ++ ping_info->trans_color.gray/MaxRGB); + } + } + if (logging) +@@ -7332,7 +7332,7 @@ + #endif + if (ping_info->valid & PNG_INFO_tRNS) + { +- MagickFreeMemory(ping_info->trans); ++ MagickFreeMemory(ping_info->trans_alpha); + ping_info->valid&=(~PNG_INFO_tRNS); + } + png_destroy_write_struct(&ping,&ping_info); |