diff --git a/MagickCore/accelerate.c b/MagickCore/accelerate.c
index 0ab5f10..6883e98 100644
--- a/MagickCore/accelerate.c
+++ b/MagickCore/accelerate.c
@@ -383,9 +383,9 @@
&convolve_info->height);
if (status != CL_SUCCESS)
return(MagickFalse);
- convolve_info->matte=(cl_uint) image->matte;
+ convolve_info->alpha_trait=(cl_uint) image->alpha_trait;
status=clSetKernelArg(convolve_info->kernel,i++,sizeof(cl_uint),(void *)
- &convolve_info->matte);
+ &convolve_info->alpha_trait);
if (status != CL_SUCCESS)
return(MagickFalse);
status=clSetKernelArg(convolve_info->kernel,i++,sizeof(cl_mem),(void *)
diff --git a/MagickCore/animate.c b/MagickCore/animate.c
index 4e62cf9..03ce235 100644
--- a/MagickCore/animate.c
+++ b/MagickCore/animate.c
@@ -883,7 +883,7 @@
*/
for (next=images; next != (Image *) NULL; )
{
- next->matte=MagickFalse;
+ next->alpha_trait=UndefinedPixelTrait;
if ((next->storage_class == DirectClass) ||
(next->colors != images->colors) ||
(next->colors > (size_t) visual_info->colormap_size))
@@ -922,16 +922,16 @@
if ((resource_info->map_type != (char *) NULL) ||
(visual_info->klass == TrueColor) ||
(visual_info->klass == DirectColor))
- (void) SetImageType(image_list[scene],image_list[scene]->matte ==
- MagickFalse ? TrueColorType : TrueColorMatteType,exception);
+ (void) SetImageType(image_list[scene],image_list[scene]->alpha_trait ==
+ BlendPixelTrait ? TrueColorType : TrueColorMatteType,exception);
if ((display_image->columns < image_list[scene]->columns) &&
(display_image->rows < image_list[scene]->rows))
display_image=image_list[scene];
}
if ((resource_info->map_type != (char *) NULL) ||
(visual_info->klass == TrueColor) || (visual_info->klass == DirectColor))
- (void) SetImageType(display_image,display_image->matte == MagickFalse ?
- TrueColorType : TrueColorMatteType,exception);
+ (void) SetImageType(display_image,display_image->alpha_trait !=
+ BlendPixelTrait ? TrueColorType : TrueColorMatteType,exception);
XMakeStandardColormap(display,visual_info,&resources,display_image,map_info,
&pixel,exception);
/*
@@ -1133,7 +1133,7 @@
(void) XClearWindow(display,window_info.id);
window_info.pixmaps[scene]=window_info.pixmap;
window_info.matte_pixmaps[scene]=window_info.matte_pixmap;
- if (image_list[scene]->matte)
+ if (image_list[scene]->alpha_trait)
(void) XClearWindow(display,window_info.id);
delay=1000*image_list[scene]->delay/MagickMax(
image_list[scene]->ticks_per_second,1L);
@@ -1505,7 +1505,7 @@
*/
for (next=images; next != (Image *) NULL; )
{
- next->matte=MagickFalse;
+ next->alpha_trait=UndefinedPixelTrait;
if ((next->storage_class == DirectClass) ||
(next->colors != images->colors) ||
(next->colors > (size_t) visual_info->colormap_size))
@@ -1544,8 +1544,8 @@
if ((resource_info->map_type != (char *) NULL) ||
(visual_info->klass == TrueColor) ||
(visual_info->klass == DirectColor))
- (void) SetImageType(image_list[scene],image_list[scene]->matte ==
- MagickFalse ? TrueColorType : TrueColorMatteType,exception);
+ (void) SetImageType(image_list[scene],image_list[scene]->alpha_trait ==
+ BlendPixelTrait ? TrueColorType : TrueColorMatteType,exception);
if ((display_image->columns < image_list[scene]->columns) &&
(display_image->rows < image_list[scene]->rows))
display_image=image_list[scene];
diff --git a/MagickCore/annotate.c b/MagickCore/annotate.c
index 4d48d7e..b26822c 100644
--- a/MagickCore/annotate.c
+++ b/MagickCore/annotate.c
@@ -1285,7 +1285,7 @@
{
if (image->storage_class != DirectClass)
(void) SetImageStorageClass(image,DirectClass,exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
}
direction=1.0;
@@ -1818,9 +1818,9 @@
/*
Render fill color.
*/
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
- if (annotate_image->matte == MagickFalse)
+ if (annotate_image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(annotate_image,OpaqueAlphaChannel,
exception);
fill_color=draw_info->fill;
diff --git a/MagickCore/attribute.c b/MagickCore/attribute.c
index f686a11..60d7ee0 100644
--- a/MagickCore/attribute.c
+++ b/MagickCore/attribute.c
@@ -301,7 +301,7 @@
status=MagickTrue;
for (id=0; id < (ssize_t) number_threads; id++)
current_depth[id]=1;
- if ((image->storage_class == PseudoClass) && (image->matte == MagickFalse))
+ if ((image->storage_class == PseudoClass) && (image->alpha_trait != BlendPixelTrait))
{
register ssize_t
i;
@@ -618,7 +618,7 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
if (image->colorspace == CMYKColorspace)
{
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
return(ColorSeparationType);
return(ColorSeparationMatteType);
}
@@ -626,17 +626,17 @@
return(BilevelType);
if (IsImageGray(image,exception) != MagickFalse)
{
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
return(GrayscaleMatteType);
return(GrayscaleType);
}
if (IsPaletteImage(image,exception) != MagickFalse)
{
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
return(PaletteMatteType);
return(PaletteType);
}
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
return(TrueColorMatteType);
return(TrueColorType);
}
@@ -721,7 +721,7 @@
if (type == UndefinedType)
return(MagickFalse);
((Image *) image)->type=type;
- if ((type == GrayscaleType) && (image->matte != MagickFalse))
+ if ((type == GrayscaleType) && (image->alpha_trait == BlendPixelTrait))
((Image *) image)->type=GrayscaleMatteType;
return(MagickTrue);
}
@@ -856,7 +856,7 @@
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
return(MagickTrue);
image_view=AcquireVirtualCacheView(image,exception);
for (y=0; y < (ssize_t) image->rows; y++)
@@ -1168,21 +1168,21 @@
status=QuantizeImage(quantize_info,image,exception);
quantize_info=DestroyQuantizeInfo(quantize_info);
}
- image->matte=MagickFalse;
+ image->alpha_trait=UndefinedPixelTrait;
break;
}
case GrayscaleType:
{
if (IsImageGray(image,exception) == MagickFalse)
status=TransformImageColorspace(image,GRAYColorspace,exception);
- image->matte=MagickFalse;
+ image->alpha_trait=UndefinedPixelTrait;
break;
}
case GrayscaleMatteType:
{
if (IsImageGray(image,exception) == MagickFalse)
status=TransformImageColorspace(image,GRAYColorspace,exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
break;
}
@@ -1197,7 +1197,7 @@
status=QuantizeImage(quantize_info,image,exception);
quantize_info=DestroyQuantizeInfo(quantize_info);
}
- image->matte=MagickFalse;
+ image->alpha_trait=UndefinedPixelTrait;
break;
}
case PaletteBilevelMatteType:
@@ -1207,7 +1207,7 @@
if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
status=TransformImageColorspace(image,sRGBColorspace,exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
channel_mask=SetImageChannelMask(image,AlphaChannel);
(void) BilevelImage(image,(double) QuantumRange/2.0,exception);
@@ -1221,7 +1221,7 @@
{
if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
status=TransformImageColorspace(image,sRGBColorspace,exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
quantize_info=AcquireQuantizeInfo(image_info);
quantize_info->colorspace=TransparentColorspace;
@@ -1235,7 +1235,7 @@
status=TransformImageColorspace(image,sRGBColorspace,exception);
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,exception);
- image->matte=MagickFalse;
+ image->alpha_trait=UndefinedPixelTrait;
break;
}
case TrueColorMatteType:
@@ -1244,7 +1244,7 @@
status=TransformImageColorspace(image,sRGBColorspace,exception);
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
break;
}
@@ -1258,7 +1258,7 @@
}
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,exception);
- image->matte=MagickFalse;
+ image->alpha_trait=UndefinedPixelTrait;
break;
}
case ColorSeparationMatteType:
@@ -1271,7 +1271,7 @@
}
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
status=SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
break;
}
diff --git a/MagickCore/cache-private.h b/MagickCore/cache-private.h
index 71d6768..2fc090e 100644
--- a/MagickCore/cache-private.h
+++ b/MagickCore/cache-private.h
@@ -24,6 +24,7 @@
#include <time.h>
#include "MagickCore/cache.h"
+#include "MagickCore/pixel.h"
#include "MagickCore/random_.h"
#include "MagickCore/thread-private.h"
#include "MagickCore/semaphore.h"
@@ -110,8 +111,10 @@
ColorspaceType
colorspace;
+ PixelTrait
+ alpha_trait;
+
MagickBooleanType
- matte,
mask;
size_t
diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index ceb1e5b..0703556 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -1850,7 +1850,7 @@
q=cache_info->channel_map;
if ((image->storage_class != cache_info->storage_class) ||
(image->colorspace != cache_info->colorspace) ||
- (image->matte != cache_info->matte) ||
+ (image->alpha_trait != cache_info->alpha_trait) ||
(image->mask != cache_info->mask) ||
(image->columns != cache_info->columns) ||
(image->rows != cache_info->rows) ||
@@ -3759,7 +3759,7 @@
image->filename,(double) GetImageIndexInList(image));
cache_info->storage_class=image->storage_class;
cache_info->colorspace=image->colorspace;
- cache_info->matte=image->matte;
+ cache_info->alpha_trait=image->alpha_trait;
cache_info->mask=image->mask;
cache_info->rows=image->rows;
cache_info->columns=image->columns;
@@ -4912,7 +4912,7 @@
assert(image->cache != (Cache) NULL);
cache_info=(CacheInfo *) image->cache;
assert(cache_info->signature == MagickSignature);
- image->matte=MagickTrue;
+ image->alpha_trait=BlendPixelTrait;
status=MagickTrue;
image_view=AcquireVirtualCacheView(image,exception); /* must be virtual */
#if defined(MAGICKCORE_OPENMP_SUPPORT)
@@ -4969,8 +4969,8 @@
{
case BackgroundVirtualPixelMethod:
{
- if ((image->background_color.matte != MagickFalse) &&
- (image->matte == MagickFalse))
+ if ((image->background_color.alpha_trait == BlendPixelTrait) &&
+ (image->alpha_trait != BlendPixelTrait))
(void) SetCacheAlphaChannel(image,OpaqueAlpha,exception);
if ((IsPixelInfoGray(&image->background_color) == MagickFalse) &&
(IsGrayColorspace(image->colorspace) != MagickFalse))
@@ -4979,7 +4979,7 @@
}
case TransparentVirtualPixelMethod:
{
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetCacheAlphaChannel(image,OpaqueAlpha,exception);
break;
}
diff --git a/MagickCore/channel.c b/MagickCore/channel.c
index 77ffb85..eb3026f 100644
--- a/MagickCore/channel.c
+++ b/MagickCore/channel.c
@@ -491,7 +491,7 @@
if (IsGrayColorspace(image->colorspace) != MagickFalse)
(void) SetImageColorspace(combine_image,RGBColorspace,exception);
if ((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0)
- combine_image->matte=MagickTrue;
+ combine_image->alpha_trait=BlendPixelTrait;
/*
Combine images.
*/
@@ -650,7 +650,7 @@
separate_image=DestroyImage(separate_image);
return((Image *) NULL);
}
- separate_image->matte=MagickFalse;
+ separate_image->alpha_trait=UndefinedPixelTrait;
(void) SetImageColorspace(separate_image,GRAYColorspace,exception);
/*
Separate image.
diff --git a/MagickCore/color.c b/MagickCore/color.c
index 38e0d39..e406264 100644
--- a/MagickCore/color.c
+++ b/MagickCore/color.c
@@ -1417,7 +1417,8 @@
ConcatentateHexColorComponent(pixel,BluePixelChannel,tuple);
if (pixel->colorspace == CMYKColorspace)
ConcatentateHexColorComponent(pixel,BlackPixelChannel,tuple);
- if ((pixel->matte != MagickFalse) && (pixel->alpha != OpaqueAlpha))
+ if ((pixel->alpha_trait == BlendPixelTrait) &&
+ (pixel->alpha != OpaqueAlpha))
ConcatentateHexColorComponent(pixel,AlphaPixelChannel,tuple);
return;
}
@@ -1445,7 +1446,7 @@
if (color.colorspace-CMYKColorspace)
status&=fabs(color.black-SVGCompliant(color.black)) < MagickEpsilon ?
MagickTrue : MagickFalse;
- if (color.matte != MagickFalse)
+ if (color.alpha_trait == BlendPixelTrait)
status&=fabs(color.alpha-SVGCompliant(color.alpha)) < MagickEpsilon ?
MagickTrue : MagickFalse;
if (status != MagickFalse)
@@ -1453,7 +1454,7 @@
}
(void) ConcatenateMagickString(tuple,CommandOptionToMnemonic(
MagickColorspaceOptions,(ssize_t) color.colorspace),MaxTextExtent);
- if (color.matte != MagickFalse)
+ if (color.alpha_trait == BlendPixelTrait)
(void) ConcatenateMagickString(tuple,"a",MaxTextExtent);
(void) ConcatenateMagickString(tuple,"(",MaxTextExtent);
if (color.colorspace == GRAYColorspace)
@@ -1471,7 +1472,7 @@
(void) ConcatenateMagickString(tuple,",",MaxTextExtent);
ConcatenateColorComponent(&color,BlackPixelChannel,SVGCompliance,tuple);
}
- if (color.matte != MagickFalse)
+ if (color.alpha_trait == BlendPixelTrait)
{
(void) ConcatenateMagickString(tuple,",",MaxTextExtent);
ConcatenateColorComponent(&color,AlphaPixelChannel,SVGCompliance,tuple);
@@ -1569,7 +1570,7 @@
register double
distance;
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
return(MagickTrue);
if (p->alpha == q->alpha)
return(MagickTrue);
@@ -2258,7 +2259,7 @@
depth=4*(n/4);
}
color->colorspace=sRGBColorspace;
- color->matte=MagickFalse;
+ color->alpha_trait=UndefinedPixelTrait;
range=GetQuantumRange(depth);
color->red=(double) ScaleAnyToQuantum(pixel.red,range);
color->green=(double) ScaleAnyToQuantum(pixel.green,range);
@@ -2266,7 +2267,7 @@
color->alpha=(double) OpaqueAlpha;
if ((n % 3) != 0)
{
- color->matte=MagickTrue;
+ color->alpha_trait=BlendPixelTrait;
color->alpha=(double) ScaleAnyToQuantum(pixel.alpha,range);
}
color->black=0.0;
@@ -2305,11 +2306,11 @@
icc_color=MagickTrue;
}
LocaleLower(colorspace);
- color->matte=MagickFalse;
+ color->alpha_trait=UndefinedPixelTrait;
if ((i > 0) && (colorspace[i] == 'a'))
{
colorspace[i]='\0';
- color->matte=MagickTrue;
+ color->alpha_trait=BlendPixelTrait;
}
type=ParseCommandOption(MagickColorspaceOptions,MagickFalse,colorspace);
if (type < 0)
@@ -2356,11 +2357,11 @@
color->black=(double) ClampToQuantum(scale*
geometry_info.psi);
else
- if (color->matte != MagickFalse)
+ if (color->alpha_trait == BlendPixelTrait)
color->alpha=(double) ClampToQuantum(QuantumRange*
geometry_info.psi);
}
- if (((flags & ChiValue) != 0) && (color->matte != MagickFalse))
+ if (((flags & ChiValue) != 0) && (color->alpha_trait == BlendPixelTrait))
color->alpha=(double) ClampToQuantum(QuantumRange*
geometry_info.chi);
if (LocaleCompare(colorspace,"gray") == 0)
@@ -2368,7 +2369,7 @@
color->colorspace=GRAYColorspace;
color->green=color->red;
color->blue=color->red;
- if (((flags & SigmaValue) != 0) && (color->matte != MagickFalse))
+ if (((flags & SigmaValue) != 0) && (color->alpha_trait == BlendPixelTrait))
color->alpha=(double) ClampToQuantum(QuantumRange*
geometry_info.sigma);
}
@@ -2433,7 +2434,7 @@
if (p == (const ColorInfo *) NULL)
return(MagickFalse);
color->colorspace=sRGBColorspace;
- color->matte=p->color.alpha != OpaqueAlpha ? MagickTrue : MagickFalse;
+ color->alpha_trait=p->color.alpha != OpaqueAlpha ? MagickTrue : MagickFalse;
color->red=(double) p->color.red;
color->green=(double) p->color.green;
color->blue=(double) p->color.blue;
@@ -2502,7 +2503,7 @@
pixel=(*color);
if (compliance == XPMCompliance)
{
- pixel.matte=MagickFalse;
+ pixel.alpha_trait=UndefinedPixelTrait;
pixel.depth=(size_t) MagickMin(1.0*image->depth,16.0);
}
GetColorTuple(&pixel,compliance != SVGCompliance ? MagickTrue : MagickFalse,
@@ -2511,7 +2512,7 @@
return(MagickFalse);
(void) GetColorInfo("*",exception);
ResetLinkedListIterator(color_list);
- opacity=image->matte != MagickFalse ? color->alpha : OpaqueAlpha;
+ opacity=image->alpha_trait == BlendPixelTrait ? color->alpha : OpaqueAlpha;
p=(const ColorInfo *) GetNextValueInLinkedList(color_list);
while (p != (const ColorInfo *) NULL)
{
diff --git a/MagickCore/colormap.c b/MagickCore/colormap.c
index 9ae4820..2e5f2f0 100644
--- a/MagickCore/colormap.c
+++ b/MagickCore/colormap.c
@@ -144,7 +144,7 @@
pixel=(double) (i*(QuantumRange/MagickMax(colors-1,1)));
GetPixelInfo(image,image->colormap+i);
- image->colormap[i].matte=MagickTrue;
+ image->colormap[i].alpha_trait=BlendPixelTrait;
image->colormap[i].red=pixel;
image->colormap[i].green=pixel;
image->colormap[i].blue=pixel;
diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c
index 2722fc4..049c6ea 100644
--- a/MagickCore/colorspace.c
+++ b/MagickCore/colorspace.c
@@ -285,7 +285,7 @@
status=MagickFalse;
}
image_view=DestroyCacheView(image_view);
- image->type=image->matte == MagickFalse ? ColorSeparationType :
+ image->type=image->alpha_trait != BlendPixelTrait ? ColorSeparationType :
ColorSeparationMatteType;
if (SetImageColorspace(image,colorspace,exception) == MagickFalse)
return(MagickFalse);
@@ -353,7 +353,7 @@
status=MagickFalse;
}
image_view=DestroyCacheView(image_view);
- image->type=image->matte == MagickFalse ? ColorSeparationType :
+ image->type=image->alpha_trait != BlendPixelTrait ? ColorSeparationType :
ColorSeparationMatteType;
if (SetImageColorspace(image,colorspace,exception) == MagickFalse)
return(MagickFalse);
diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index 68734f7..788bae8 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -721,7 +721,7 @@
Modify destination outside the overlaid region and require an alpha
channel to exist, to add transparency.
*/
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
break;
}
@@ -1614,7 +1614,7 @@
case CopyAlphaCompositeOp:
{
pixel=QuantumRange*Sa;
- if (composite_image->matte == MagickFalse)
+ if (composite_image->alpha_trait != BlendPixelTrait)
pixel=GetPixelIntensity(composite_image,p);
break;
}
@@ -2401,8 +2401,8 @@
exception);
status=MagickTrue;
if ((image->compose != CopyCompositeOp) &&
- ((image->compose != OverCompositeOp) || (image->matte != MagickFalse) ||
- (texture_image->matte != MagickFalse)))
+ ((image->compose != OverCompositeOp) || (image->alpha_trait == BlendPixelTrait) ||
+ (texture_image->alpha_trait == BlendPixelTrait)))
{
/*
Tile texture onto the image background.
diff --git a/MagickCore/decorate.c b/MagickCore/decorate.c
index 7f915ea..48d9286 100644
--- a/MagickCore/decorate.c
+++ b/MagickCore/decorate.c
@@ -233,8 +233,8 @@
if ((IsPixelInfoGray(&frame_image->matte_color) == MagickFalse) &&
(IsGrayColorspace(frame_image->colorspace) != MagickFalse))
(void) SetImageColorspace(frame_image,RGBColorspace,exception);
- if ((frame_image->matte_color.matte != MagickFalse) &&
- (frame_image->matte == MagickFalse))
+ if ((frame_image->matte_color.alpha_trait == BlendPixelTrait) &&
+ (frame_image->alpha_trait != BlendPixelTrait))
(void) SetImageAlpha(frame_image,OpaqueAlpha,exception);
frame_image->page=image->page;
if ((image->page.width != 0) && (image->page.height != 0))
@@ -429,7 +429,7 @@
Set frame interior to interior color.
*/
if ((compose != CopyCompositeOp) && ((compose != OverCompositeOp) ||
- (image->matte != MagickFalse)))
+ (image->alpha_trait == BlendPixelTrait)))
for (x=0; x < (ssize_t) image->columns; x++)
{
SetPixelInfoPixel(frame_image,&interior,q);
@@ -592,7 +592,7 @@
frame_view=DestroyCacheView(frame_view);
image_view=DestroyCacheView(image_view);
if ((compose != CopyCompositeOp) && ((compose != OverCompositeOp) ||
- (image->matte != MagickFalse)))
+ (image->alpha_trait == BlendPixelTrait)))
{
x=(ssize_t) (frame_info->outer_bevel+(frame_info->x-bevel_width)+
frame_info->inner_bevel);
diff --git a/MagickCore/display.c b/MagickCore/display.c
index a296d75..2d6e537 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -4335,7 +4335,7 @@
((ssize_t) ScaleQuantumToChar(QuantumRange)*blend)/100);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- image->matte=MagickTrue;
+ image->alpha_trait=BlendPixelTrait;
image_view=AcquireAuthenticCacheView(image,exception);
for (y=0; y < (int) image->rows; y++)
{
@@ -5356,7 +5356,7 @@
*/
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- image->matte=MagickTrue;
+ image->alpha_trait=BlendPixelTrait;
image_view=AcquireAuthenticCacheView(image,exception);
for (y=0; y < (int) crop_info.height; y++)
{
@@ -8003,7 +8003,7 @@
*/
XSetCursorState(display,windows,MagickTrue);
XCheckRefreshWindows(display,windows);
- (void) SetImageType(*image,(*image)->matte == MagickFalse ?
+ (void) SetImageType(*image,(*image)->alpha_trait != BlendPixelTrait ?
GrayscaleType : GrayscaleMatteType,exception);
XSetCursorState(display,windows,MagickFalse);
if (windows->image.orphan != MagickFalse)
@@ -9160,7 +9160,7 @@
Image
*matte_image;
- if ((*image)->matte == MagickFalse)
+ if ((*image)->alpha_trait != BlendPixelTrait)
{
XNoticeWidget(display,windows,
"Image does not have any matte information",(*image)->filename);
@@ -10093,7 +10093,7 @@
continue;
if (SetImageStorageClass(*image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if ((*image)->matte == MagickFalse)
+ if ((*image)->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(*image,OpaqueAlphaChannel,exception);
image_view=AcquireAuthenticCacheView(*image,exception);
switch (method)
@@ -10202,7 +10202,7 @@
break;
}
if (StringToLong(matte) == (long) OpaqueAlpha)
- (*image)->matte=MagickFalse;
+ (*image)->alpha_trait=UndefinedPixelTrait;
break;
}
}
diff --git a/MagickCore/distort.c b/MagickCore/distort.c
index fd81081..16a2b47 100644
--- a/MagickCore/distort.c
+++ b/MagickCore/distort.c
@@ -1503,7 +1503,7 @@
(void) SetImageVirtualPixelMethod(tmp_image,TransparentVirtualPixelMethod,
exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
{
/*
Image has not transparency channel, so we free to use it
@@ -2283,8 +2283,8 @@
if ((IsPixelInfoGray(&distort_image->background_color) == MagickFalse) &&
(IsGrayColorspace(distort_image->colorspace) != MagickFalse))
(void) TransformImageColorspace(distort_image,RGBColorspace,exception);
- if (distort_image->background_color.matte != MagickFalse)
- distort_image->matte=MagickTrue;
+ if (distort_image->background_color.alpha_trait == BlendPixelTrait)
+ distort_image->alpha_trait=BlendPixelTrait;
distort_image->page.x=geometry.x;
distort_image->page.y=geometry.y;
@@ -2919,7 +2919,7 @@
(image->colorspace == CMYKColorspace))
number_colors++;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
number_colors++;
/*
@@ -2969,7 +2969,7 @@
(void) FormatLocaleFile(stderr, " -channel K -fx '%+lf*i %+lf*j %+lf' \\\n",
coeff[x], coeff[x+1], coeff[x+2]),x+=3;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
(void) FormatLocaleFile(stderr, " -channel A -fx '%+lf*i %+lf*j %+lf' \\\n",
coeff[x], coeff[x+1], coeff[x+2]),x+=3;
break;
@@ -2996,7 +2996,7 @@
coeff[ x ], coeff[x+1],
coeff[x+2], coeff[x+3]),x+=4;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
(void) FormatLocaleFile(stderr, " -channel A -fx '%+lf*i %+lf*j %+lf*i*j %+lf;\n",
coeff[ x ], coeff[x+1],
coeff[x+2], coeff[x+3]),x+=4;
@@ -3086,7 +3086,7 @@
pixel.black = coeff[x]*i +coeff[x+1]*j
+coeff[x+2], x+=3;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
pixel.alpha = coeff[x]*i +coeff[x+1]*j
+coeff[x+2], x+=3;
break;
@@ -3108,7 +3108,7 @@
pixel.black = coeff[x]*i + coeff[x+1]*j +
coeff[x+2]*i*j + coeff[x+3], x+=4;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
pixel.alpha = coeff[x]*i + coeff[x+1]*j +
coeff[x+2]*i*j + coeff[x+3], x+=4;
break;
@@ -3131,7 +3131,7 @@
(image->colorspace == CMYKColorspace))
pixel.black=0.0;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
pixel.alpha=0.0;
denominator = 0.0;
for(k=0; k<number_arguments; k+=2+number_colors) {
@@ -3152,7 +3152,7 @@
(image->colorspace == CMYKColorspace))
pixel.black += arguments[x++]*weight;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
pixel.alpha += arguments[x++]*weight;
denominator += weight;
}
@@ -3166,7 +3166,7 @@
(image->colorspace == CMYKColorspace))
pixel.black/=denominator;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
pixel.alpha/=denominator;
break;
}
@@ -3194,7 +3194,7 @@
(image->colorspace == CMYKColorspace))
pixel.black=arguments[x++];
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
pixel.alpha=arguments[x++];
minimum = distance;
}
@@ -3213,7 +3213,7 @@
(image->colorspace == CMYKColorspace))
pixel.black*=QuantumRange;
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
pixel.alpha*=QuantumRange;
SetPixelInfoPixel(sparse_image,&pixel,q);
q+=GetPixelChannels(sparse_image);
diff --git a/MagickCore/draw.c b/MagickCore/draw.c
index 21202ed..f7e341b 100644
--- a/MagickCore/draw.c
+++ b/MagickCore/draw.c
@@ -3931,7 +3931,7 @@
/*
Draw polygon or line.
*/
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
start=(ssize_t) ceil(bounds.y1-0.5);
stop=(ssize_t) floor(bounds.y2+0.5);
@@ -4311,7 +4311,7 @@
}
case MattePrimitive:
{
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
switch (primitive_info->method)
{
@@ -4506,7 +4506,7 @@
(void) TransformImage(&composite_image,(char *) NULL,geometry,
exception);
}
- if (composite_image->matte == MagickFalse)
+ if (composite_image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(composite_image,OpaqueAlphaChannel,
exception);
if (draw_info->alpha != OpaqueAlpha)
diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c
index cfecc95..28aa52f 100644
--- a/MagickCore/enhance.c
+++ b/MagickCore/enhance.c
@@ -418,7 +418,7 @@
}
image_view=DestroyCacheView(image_view);
clut_map=(PixelInfo *) RelinquishMagickMemory(clut_map);
- if ((clut_image->matte != MagickFalse) &&
+ if ((clut_image->alpha_trait == BlendPixelTrait) &&
((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0))
(void) SetImageAlphaChannel(image,ActivateAlphaChannel,exception);
return(status);
@@ -2010,7 +2010,7 @@
return(MagickFalse);
if (IsGrayColorspace(image->colorspace) != MagickFalse)
(void) TransformImageColorspace(image,RGBColorspace,exception);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
/*
Hald clut image.
@@ -2097,7 +2097,7 @@
(image->colorspace == CMYKColorspace))
SetPixelBlack(image,ClampToQuantum(pixel.black),q);
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
+ (image->alpha_trait == BlendPixelTrait))
SetPixelAlpha(image,ClampToQuantum(pixel.alpha),q);
q+=GetPixelChannels(image);
}
@@ -2553,7 +2553,7 @@
(void) SetImageChannelMask(image,channel_mask);
}
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
{
channel_mask=SetImageChannelMask(image,AlphaChannel);
status|=LevelImage(image,black_color->alpha,white_color->alpha,1.0,
@@ -2593,7 +2593,7 @@
(void) SetImageChannelMask(image,channel_mask);
}
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
{
channel_mask=SetImageChannelMask(image,AlphaChannel);
status|=LevelizeImage(image,black_color->alpha,white_color->alpha,1.0,
diff --git a/MagickCore/feature.c b/MagickCore/feature.c
index 73af219..0a4d096 100644
--- a/MagickCore/feature.c
+++ b/MagickCore/feature.c
@@ -253,7 +253,7 @@
if (image->colorspace == CMYKColorspace)
grays[ScaleQuantumToMap(GetPixelBlack(image,p))].black=
ScaleQuantumToMap(GetPixelBlack(image,p));
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
grays[ScaleQuantumToMap(GetPixelAlpha(image,p))].alpha=
ScaleQuantumToMap(GetPixelAlpha(image,p));
p+=GetPixelChannels(image);
@@ -279,7 +279,7 @@
if (image->colorspace == CMYKColorspace)
if (grays[i].black != ~0U)
grays[gray.black++].black=grays[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
if (grays[i].alpha != ~0U)
grays[gray.alpha++].alpha=grays[i].alpha;
}
@@ -294,7 +294,7 @@
if (image->colorspace == CMYKColorspace)
if (gray.black > number_grays)
number_grays=gray.black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
if (gray.alpha > number_grays)
number_grays=gray.alpha;
cooccurrence=(ChannelStatistics **) AcquireQuantumMemory(number_grays,
@@ -496,7 +496,7 @@
cooccurrence[u][v].direction[i].black++;
cooccurrence[v][u].direction[i].black++;
}
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
{
u=0;
v=0;
@@ -585,7 +585,7 @@
cooccurrence[x][y].direction[i].blue*=normalize;
if (image->colorspace == CMYKColorspace)
cooccurrence[x][y].direction[i].black*=normalize;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
cooccurrence[x][y].direction[i].alpha*=normalize;
}
}
@@ -625,7 +625,7 @@
channel_features[BlackPixelChannel].angular_second_moment[i]+=
cooccurrence[x][y].direction[i].black*
cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].angular_second_moment[i]+=
cooccurrence[x][y].direction[i].alpha*
cooccurrence[x][y].direction[i].alpha;
@@ -637,7 +637,7 @@
sum[y].direction[i].blue+=cooccurrence[x][y].direction[i].blue;
if (image->colorspace == CMYKColorspace)
sum[y].direction[i].black+=cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
sum[y].direction[i].alpha+=cooccurrence[x][y].direction[i].alpha;
correlation.direction[i].red+=x*y*cooccurrence[x][y].direction[i].red;
correlation.direction[i].green+=x*y*
@@ -647,7 +647,7 @@
if (image->colorspace == CMYKColorspace)
correlation.direction[i].black+=x*y*
cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
correlation.direction[i].alpha+=x*y*
cooccurrence[x][y].direction[i].alpha;
/*
@@ -662,7 +662,7 @@
if (image->colorspace == CMYKColorspace)
channel_features[BlackPixelChannel].inverse_difference_moment[i]+=
cooccurrence[x][y].direction[i].black/((y-x)*(y-x)+1);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].inverse_difference_moment[i]+=
cooccurrence[x][y].direction[i].alpha/((y-x)*(y-x)+1);
/*
@@ -677,7 +677,7 @@
if (image->colorspace == CMYKColorspace)
density_xy[y+x+2].direction[i].black+=
cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
density_xy[y+x+2].direction[i].alpha+=
cooccurrence[x][y].direction[i].alpha;
/*
@@ -696,7 +696,7 @@
channel_features[BlackPixelChannel].entropy[i]-=
cooccurrence[x][y].direction[i].black*
log10(cooccurrence[x][y].direction[i].black+MagickEpsilon);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].entropy[i]-=
cooccurrence[x][y].direction[i].alpha*
log10(cooccurrence[x][y].direction[i].alpha+MagickEpsilon);
@@ -706,7 +706,7 @@
density_x[x].direction[i].red+=cooccurrence[x][y].direction[i].red;
density_x[x].direction[i].green+=cooccurrence[x][y].direction[i].green;
density_x[x].direction[i].blue+=cooccurrence[x][y].direction[i].blue;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
density_x[x].direction[i].alpha+=
cooccurrence[x][y].direction[i].alpha;
if (image->colorspace == CMYKColorspace)
@@ -718,7 +718,7 @@
if (image->colorspace == CMYKColorspace)
density_y[y].direction[i].black+=
cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
density_y[y].direction[i].alpha+=
cooccurrence[x][y].direction[i].alpha;
}
@@ -733,7 +733,7 @@
mean.direction[i].black+=y*sum[y].direction[i].black;
sum_squares.direction[i].black+=y*y*sum[y].direction[i].black;
}
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
{
mean.direction[i].alpha+=y*sum[y].direction[i].alpha;
sum_squares.direction[i].alpha+=y*y*sum[y].direction[i].alpha;
@@ -767,7 +767,7 @@
(mean.direction[i].black*mean.direction[i].black))*sqrt(
sum_squares.direction[i].black-(mean.direction[i].black*
mean.direction[i].black)));
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].correlation[i]=
(correlation.direction[i].alpha-mean.direction[i].alpha*
mean.direction[i].alpha)/(sqrt(sum_squares.direction[i].alpha-
@@ -801,7 +801,7 @@
if (image->colorspace == CMYKColorspace)
channel_features[BlackPixelChannel].sum_average[i]+=
x*density_xy[x].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].sum_average[i]+=
x*density_xy[x].direction[i].alpha;
/*
@@ -820,7 +820,7 @@
channel_features[BlackPixelChannel].sum_entropy[i]-=
density_xy[x].direction[i].black*
log10(density_xy[x].direction[i].black+MagickEpsilon);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].sum_entropy[i]-=
density_xy[x].direction[i].alpha*
log10(density_xy[x].direction[i].alpha+MagickEpsilon);
@@ -844,7 +844,7 @@
(x-channel_features[BlackPixelChannel].sum_entropy[i])*
(x-channel_features[BlackPixelChannel].sum_entropy[i])*
density_xy[x].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].sum_variance[i]+=
(x-channel_features[AlphaPixelChannel].sum_entropy[i])*
(x-channel_features[AlphaPixelChannel].sum_entropy[i])*
@@ -882,7 +882,7 @@
if (image->colorspace == CMYKColorspace)
variance.direction[i].black+=(y-mean.direction[i].black+1)*
(y-mean.direction[i].black+1)*cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
variance.direction[i].alpha+=(y-mean.direction[i].alpha+1)*
(y-mean.direction[i].alpha+1)*
cooccurrence[x][y].direction[i].alpha;
@@ -898,7 +898,7 @@
if (image->colorspace == CMYKColorspace)
density_xy[MagickAbsoluteValue(y-x)].direction[i].black+=
cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
density_xy[MagickAbsoluteValue(y-x)].direction[i].alpha+=
cooccurrence[x][y].direction[i].alpha;
/*
@@ -913,7 +913,7 @@
if (image->colorspace == CMYKColorspace)
entropy_xy.direction[i].black-=cooccurrence[x][y].direction[i].black*
log10(cooccurrence[x][y].direction[i].black+MagickEpsilon);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
entropy_xy.direction[i].alpha-=
cooccurrence[x][y].direction[i].alpha*log10(
cooccurrence[x][y].direction[i].alpha+MagickEpsilon);
@@ -931,7 +931,7 @@
cooccurrence[x][y].direction[i].black*log10(
density_x[x].direction[i].black*density_y[y].direction[i].black+
MagickEpsilon));
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
entropy_xy1.direction[i].alpha-=(
cooccurrence[x][y].direction[i].alpha*log10(
density_x[x].direction[i].alpha*density_y[y].direction[i].alpha+
@@ -950,7 +950,7 @@
density_y[y].direction[i].black*log10(
density_x[x].direction[i].black*density_y[y].direction[i].black+
MagickEpsilon));
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
entropy_xy2.direction[i].alpha-=(density_x[x].direction[i].alpha*
density_y[y].direction[i].alpha*log10(
density_x[x].direction[i].alpha*density_y[y].direction[i].alpha+
@@ -966,7 +966,7 @@
if (image->colorspace == CMYKColorspace)
channel_features[BlackPixelChannel].variance_sum_of_squares[i]=
variance.direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].variance_sum_of_squares[i]=
variance.direction[i].alpha;
}
@@ -994,7 +994,7 @@
variance.direction[i].blue+=density_xy[x].direction[i].blue;
if (image->colorspace == CMYKColorspace)
variance.direction[i].black+=density_xy[x].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
variance.direction[i].alpha+=density_xy[x].direction[i].alpha;
sum_squares.direction[i].red+=density_xy[x].direction[i].red*
density_xy[x].direction[i].red;
@@ -1005,7 +1005,7 @@
if (image->colorspace == CMYKColorspace)
sum_squares.direction[i].black+=density_xy[x].direction[i].black*
density_xy[x].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
sum_squares.direction[i].alpha+=density_xy[x].direction[i].alpha*
density_xy[x].direction[i].alpha;
/*
@@ -1024,7 +1024,7 @@
channel_features[BlackPixelChannel].difference_entropy[i]-=
density_xy[x].direction[i].black*
log10(density_xy[x].direction[i].black+MagickEpsilon);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].difference_entropy[i]-=
density_xy[x].direction[i].alpha*
log10(density_xy[x].direction[i].alpha+MagickEpsilon);
@@ -1040,7 +1040,7 @@
if (image->colorspace == CMYKColorspace)
entropy_x.direction[i].black-=(density_x[x].direction[i].black*
log10(density_x[x].direction[i].black+MagickEpsilon));
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
entropy_x.direction[i].alpha-=(density_x[x].direction[i].alpha*
log10(density_x[x].direction[i].alpha+MagickEpsilon));
entropy_y.direction[i].red-=(density_y[x].direction[i].red*
@@ -1052,7 +1052,7 @@
if (image->colorspace == CMYKColorspace)
entropy_y.direction[i].black-=(density_y[x].direction[i].black*
log10(density_y[x].direction[i].black+MagickEpsilon));
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
entropy_y.direction[i].alpha-=(density_y[x].direction[i].alpha*
log10(density_y[x].direction[i].alpha+MagickEpsilon));
}
@@ -1076,7 +1076,7 @@
(((double) number_grays*number_grays*sum_squares.direction[i].black)-
(variance.direction[i].black*variance.direction[i].black))/
((double) number_grays*number_grays*number_grays*number_grays);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].difference_variance[i]=
(((double) number_grays*number_grays*sum_squares.direction[i].alpha)-
(variance.direction[i].alpha*variance.direction[i].alpha))/
@@ -1101,7 +1101,7 @@
(entropy_xy.direction[i].black-entropy_xy1.direction[i].black)/
(entropy_x.direction[i].black > entropy_y.direction[i].black ?
entropy_x.direction[i].black : entropy_y.direction[i].black);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].measure_of_correlation_1[i]=
(entropy_xy.direction[i].alpha-entropy_xy1.direction[i].alpha)/
(entropy_x.direction[i].alpha > entropy_y.direction[i].alpha ?
@@ -1119,7 +1119,7 @@
channel_features[BlackPixelChannel].measure_of_correlation_2[i]=
(sqrt(fabs(1.0-exp(-2.0*(entropy_xy2.direction[i].black-
entropy_xy.direction[i].black)))));
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].measure_of_correlation_2[i]=
(sqrt(fabs(1.0-exp(-2.0*(entropy_xy2.direction[i].alpha-
entropy_xy.direction[i].alpha)))));
@@ -1162,7 +1162,7 @@
pixel.direction[i].blue+=cooccurrence[x][y].direction[i].blue;
if (image->colorspace == CMYKColorspace)
pixel.direction[i].black+=cooccurrence[x][y].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
pixel.direction[i].alpha+=
cooccurrence[x][y].direction[i].alpha;
}
@@ -1182,7 +1182,7 @@
Q[z][y].direction[i].black+=cooccurrence[z][x].direction[i].black*
cooccurrence[y][x].direction[i].black/
density_x[z].direction[i].black/density_y[x].direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
Q[z][y].direction[i].alpha+=
cooccurrence[z][x].direction[i].alpha*
cooccurrence[y][x].direction[i].alpha/
@@ -1199,7 +1199,7 @@
if (image->colorspace == CMYKColorspace)
channel_features[BlackPixelChannel].contrast[i]+=z*z*
pixel.direction[i].black;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].contrast[i]+=z*z*
pixel.direction[i].alpha;
}
@@ -1216,7 +1216,7 @@
if (image->colorspace == CMYKColorspace)
channel_features[BlackPixelChannel].maximum_correlation_coefficient[i]=
sqrt((double) -1.0);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
channel_features[AlphaPixelChannel].maximum_correlation_coefficient[i]=
sqrt((double) -1.0);
}
diff --git a/MagickCore/fourier.c b/MagickCore/fourier.c
index 0690663..80d2353 100644
--- a/MagickCore/fourier.c
+++ b/MagickCore/fourier.c
@@ -727,7 +727,7 @@
thread_status;
thread_status=MagickTrue;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
thread_status=ForwardFourierTransformChannel(image,
AlphaPixelChannel,modulus,fourier_image,exception);
if (thread_status == MagickFalse)
@@ -1289,7 +1289,7 @@
thread_status;
thread_status=MagickTrue;
- if (magnitude_image->matte != MagickFalse)
+ if (magnitude_image->alpha_trait == BlendPixelTrait)
thread_status=InverseFourierTransformChannel(magnitude_image,
phase_image,AlphaPixelChannel,modulus,fourier_image,exception);
if (thread_status == MagickFalse)
diff --git a/MagickCore/fx.c b/MagickCore/fx.c
index 2bd8a18..80bfabc 100644
--- a/MagickCore/fx.c
+++ b/MagickCore/fx.c
@@ -707,8 +707,8 @@
if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
(IsPixelInfoGray(colorize) != MagickFalse))
(void) SetImageColorspace(colorize_image,RGBColorspace,exception);
- if ((colorize_image->matte == MagickFalse) &&
- (colorize->matte != MagickFalse))
+ if ((colorize_image->alpha_trait != BlendPixelTrait) &&
+ (colorize->alpha_trait == BlendPixelTrait))
(void) SetImageAlpha(colorize_image,OpaqueAlpha,exception);
if (blend == (const char *) NULL)
return(colorize_image);
@@ -1005,7 +1005,7 @@
GetPixelGreen(image,p)+ColorMatrix[v][2]*GetPixelBlue(image,p);
if (image->colorspace == CMYKColorspace)
sum+=ColorMatrix[v][3]*GetPixelBlack(image,p);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
sum+=ColorMatrix[v][4]*GetPixelAlpha(image,p);
sum+=QuantumRange*ColorMatrix[v][5];
switch (v)
@@ -1505,7 +1505,7 @@
double
alpha;
- if (pixel.matte == MagickFalse)
+ if (pixel.alpha_trait != BlendPixelTrait)
return(1.0);
alpha=(double) (QuantumScale*pixel.alpha);
return(alpha);
@@ -3238,7 +3238,7 @@
return((Image *) NULL);
}
if (implode_image->background_color.alpha != OpaqueAlpha)
- implode_image->matte=MagickTrue;
+ implode_image->alpha_trait=BlendPixelTrait;
/*
Compute scaling factor.
*/
@@ -4310,12 +4310,12 @@
border_info.y=0;
(void) QueryColorCompliance("none",AllCompliance,&clone_image->border_color,
exception);
- clone_image->matte=MagickTrue;
+ clone_image->alpha_trait=BlendPixelTrait;
border_image=BorderImage(clone_image,&border_info,OverCompositeOp,exception);
clone_image=DestroyImage(clone_image);
if (border_image == (Image *) NULL)
return((Image *) NULL);
- if (border_image->matte == MagickFalse)
+ if (border_image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(border_image,OpaqueAlphaChannel,exception);
/*
Shadow image.
@@ -4343,10 +4343,10 @@
continue;
}
background_color=border_image->background_color;
- background_color.matte=MagickTrue;
+ background_color.alpha_trait=BlendPixelTrait;
for (x=0; x < (ssize_t) border_image->columns; x++)
{
- if (border_image->matte != MagickFalse)
+ if (border_image->alpha_trait == BlendPixelTrait)
background_color.alpha=GetPixelAlpha(border_image,q)*alpha/100.0;
SetPixelInfoPixel(border_image,&background_color,q);
q+=GetPixelChannels(border_image);
@@ -5087,7 +5087,7 @@
return((Image *) NULL);
}
if (swirl_image->background_color.alpha != OpaqueAlpha)
- swirl_image->matte=MagickTrue;
+ swirl_image->alpha_trait=BlendPixelTrait;
/*
Compute scaling factor.
*/
@@ -5504,7 +5504,7 @@
canvas_image=DestroyImage(canvas_image);
return((Image *) NULL);
}
- canvas_image->matte=MagickTrue;
+ canvas_image->alpha_trait=BlendPixelTrait;
oval_image=CloneImage(canvas_image,canvas_image->columns,canvas_image->rows,
MagickTrue,exception);
if (oval_image == (Image *) NULL)
@@ -5533,7 +5533,7 @@
canvas_image=DestroyImage(canvas_image);
return((Image *) NULL);
}
- blur_image->matte=MagickFalse;
+ blur_image->alpha_trait=UndefinedPixelTrait;
(void) CompositeImage(canvas_image,blur_image,IntensityCompositeOp,MagickTrue,
0,0,exception);
blur_image=DestroyImage(blur_image);
@@ -5624,7 +5624,7 @@
return((Image *) NULL);
}
if (wave_image->background_color.alpha != OpaqueAlpha)
- wave_image->matte=MagickTrue;
+ wave_image->alpha_trait=BlendPixelTrait;
/*
Allocate sine map.
*/
diff --git a/MagickCore/histogram.c b/MagickCore/histogram.c
index c92d898..0505adb 100644
--- a/MagickCore/histogram.c
+++ b/MagickCore/histogram.c
@@ -166,7 +166,7 @@
((ScaleQuantumToChar(ClampToQuantum(pixel->red)) >> index) & 0x01) |
((ScaleQuantumToChar(ClampToQuantum(pixel->green)) >> index) & 0x01) << 1 |
((ScaleQuantumToChar(ClampToQuantum(pixel->blue)) >> index) & 0x01) << 2);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
id|=((ScaleQuantumToChar(ClampToQuantum(pixel->alpha)) >> index) &
0x01) << 3;
return(id);
@@ -342,7 +342,7 @@
/*
Traverse any children.
*/
- number_children=image->matte == MagickFalse ? 8UL : 16UL;
+ number_children=image->alpha_trait != BlendPixelTrait ? 8UL : 16UL;
for (i=0; i < (ssize_t) number_children; i++)
if (node_info->child[i] != (NodeInfo *) NULL)
DefineImageHistogram(image,node_info->child[i],histogram);
@@ -441,7 +441,7 @@
/*
Traverse any children.
*/
- number_children=image->matte == MagickFalse ? 8UL : 16UL;
+ number_children=image->alpha_trait != BlendPixelTrait ? 8UL : 16UL;
for (i=0; i < (ssize_t) number_children; i++)
if (node_info->child[i] != (NodeInfo *) NULL)
DestroyColorCube(image,node_info->child[i]);
@@ -1148,7 +1148,7 @@
ConcatenateColorComponent(&pixel,BlackPixelChannel,X11Compliance,
tuple);
}
- if (pixel.matte != MagickFalse)
+ if (pixel.alpha_trait == BlendPixelTrait)
{
(void) ConcatenateMagickString(tuple,",",MaxTextExtent);
ConcatenateColorComponent(&pixel,AlphaPixelChannel,X11Compliance,
@@ -1221,7 +1221,7 @@
/*
Traverse any children.
*/
- number_children=unique_image->matte == MagickFalse ? 8UL : 16UL;
+ number_children=unique_image->alpha_trait != BlendPixelTrait ? 8UL : 16UL;
for (i=0; i < (ssize_t) number_children; i++)
if (node_info->child[i] != (NodeInfo *) NULL)
UniqueColorsToImage(unique_image,unique_view,cube_info,
diff --git a/MagickCore/identify.c b/MagickCore/identify.c
index 3c37f73..a1b609d 100644
--- a/MagickCore/identify.c
+++ b/MagickCore/identify.c
@@ -476,7 +476,7 @@
break;
}
}
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
(void) FormatLocaleFile(file," alpha: %.20g-bit\n",(double)
channel_statistics[AlphaPixelChannel].depth);
scale=1;
@@ -519,7 +519,7 @@
break;
}
}
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
(void) PrintChannelStatistics(file,AlphaPixelChannel,"Alpha",1.0/
scale,channel_statistics);
if (colorspace != GRAYColorspace)
@@ -567,7 +567,7 @@
break;
}
}
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
(void) PrintChannelFeatures(file,AlphaPixelChannel,"Alpha",
channel_features);
channel_features=(ChannelFeatures *) RelinquishMagickMemory(
@@ -579,7 +579,7 @@
(void) FormatLocaleFile(file," Total ink density: %.0f%%\n",100.0*
GetImageTotalInkDensity(image,exception)/(double) QuantumRange);
x=0;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
{
register const Quantum
*p;
@@ -667,7 +667,7 @@
ConcatenateColorComponent(&pixel,BlackPixelChannel,
X11Compliance,tuple);
}
- if (pixel.matte != MagickFalse)
+ if (pixel.alpha_trait == BlendPixelTrait)
{
(void) ConcatenateMagickString(tuple,",",MaxTextExtent);
ConcatenateColorComponent(&pixel,AlphaPixelChannel,
diff --git a/MagickCore/image.c b/MagickCore/image.c
index b1545c1..d58a771 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -473,14 +473,14 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",images->filename);
assert(exception != (ExceptionInfo *) NULL);
assert(exception->signature == MagickSignature);
- matte=images->matte;
+ matte=images->alpha_trait;
number_images=1;
width=images->columns;
height=images->rows;
next=GetNextImageInList(images);
for ( ; next != (Image *) NULL; next=GetNextImageInList(next))
{
- if (next->matte != MagickFalse)
+ if (next->alpha_trait == BlendPixelTrait)
matte=MagickTrue;
number_images++;
if (stack != MagickFalse)
@@ -505,7 +505,7 @@
append_image=DestroyImage(append_image);
return((Image *) NULL);
}
- append_image->matte=matte;
+ append_image->alpha_trait=matte;
(void) SetImageBackgroundColor(append_image,exception);
status=MagickTrue;
x_offset=0;
@@ -810,7 +810,7 @@
clone_image->metacontent_extent=image->metacontent_extent;
clone_image->colorspace=image->colorspace;
clone_image->mask=image->mask;
- clone_image->matte=image->matte;
+ clone_image->alpha_trait=image->alpha_trait;
clone_image->columns=image->columns;
clone_image->rows=image->rows;
clone_image->dither=image->dither;
@@ -1167,7 +1167,7 @@
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"...");
assert(image->signature == MagickSignature);
- return(image->matte);
+ return(image->alpha_trait);
}
/*
@@ -1891,7 +1891,7 @@
image->columns=width;
image->rows=height;
image->colorspace=background->colorspace;
- image->matte=background->matte;
+ image->alpha_trait=background->alpha_trait;
image->fuzz=background->fuzz;
image->depth=background->depth;
status=MagickTrue;
@@ -2149,7 +2149,7 @@
{
case ActivateAlphaChannel:
{
- image->matte=MagickTrue;
+ image->alpha_trait=BlendPixelTrait;
break;
}
case BackgroundAlphaChannel:
@@ -2163,7 +2163,7 @@
/*
Set transparent pixels to background color.
*/
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
break;
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
break;
@@ -2216,14 +2216,14 @@
}
case DeactivateAlphaChannel:
{
- image->matte=MagickFalse;
+ image->alpha_trait=CopyPixelTrait;
break;
}
case ExtractAlphaChannel:
{
status=CompositeImage(image,image,AlphaCompositeOp,MagickTrue,0,0,
exception);
- image->matte=MagickFalse;
+ image->alpha_trait=UndefinedPixelTrait;
break;
}
case OpaqueAlphaChannel:
@@ -2242,7 +2242,7 @@
/*
Remove transparency.
*/
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
break;
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
break;
@@ -2279,12 +2279,12 @@
status=MagickFalse;
}
image_view=DestroyCacheView(image_view);
- image->matte=image->background_color.matte;
+ image->alpha_trait=image->background_color.alpha_trait;
return(status);
}
case SetAlphaChannel:
{
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
status=SetImageAlpha(image,OpaqueAlpha,exception);
break;
}
@@ -2349,8 +2349,8 @@
if ((IsPixelInfoGray(&image->background_color) == MagickFalse) &&
(IsGrayColorspace(image->colorspace) != MagickFalse))
(void) TransformImageColorspace(image,RGBColorspace,exception);
- if ((image->background_color.matte != MagickFalse) &&
- (image->matte == MagickFalse))
+ if ((image->background_color.alpha_trait == BlendPixelTrait) &&
+ (image->alpha_trait != BlendPixelTrait))
(void) SetImageAlpha(image,OpaqueAlpha,exception);
/*
Set image background color.
@@ -2468,7 +2468,7 @@
assert(image->signature == MagickSignature);
assert(color != (const PixelInfo *) NULL);
image->colorspace=color->colorspace;
- image->matte=color->matte;
+ image->alpha_trait=color->alpha_trait;
image->fuzz=color->fuzz;
image->depth=color->depth;
status=MagickTrue;
@@ -3124,7 +3124,7 @@
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"...");
assert(image->signature == MagickSignature);
- image->matte=MagickTrue;
+ image->alpha_trait=BlendPixelTrait;
status=MagickTrue;
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
@@ -3419,14 +3419,14 @@
assert(exception != (ExceptionInfo *) NULL);
assert(exception->signature == MagickSignature);
image=images;
- matte=image->matte;
+ matte=image->alpha_trait;
number_images=1;
width=image->columns;
height=image->rows;
next=GetNextImageInList(image);
for ( ; next != (Image *) NULL; next=GetNextImageInList(next))
{
- if (next->matte != MagickFalse)
+ if (next->alpha_trait == BlendPixelTrait)
matte=MagickTrue;
number_images++;
if (stack != MagickFalse)
@@ -3455,7 +3455,7 @@
smush_image=DestroyImage(smush_image);
return((Image *) NULL);
}
- smush_image->matte=matte;
+ smush_image->alpha_trait=matte;
(void) SetImageBackgroundColor(smush_image,exception);
status=MagickTrue;
x_offset=0;
diff --git a/MagickCore/image.h b/MagickCore/image.h
index 02bf2c8..b5a058d 100644
--- a/MagickCore/image.h
+++ b/MagickCore/image.h
@@ -164,8 +164,7 @@
orientation; /* photo orientation of image */
MagickBooleanType
- taint, /* has image been modified since reading */
- matte; /* is transparency channel defined and active */
+ taint; /* has image been modified since reading */
size_t
columns, /* physical size of image */
@@ -275,7 +274,7 @@
mask;
PixelTrait
- alpha_trait;
+ alpha_trait; /* is transparency channel defined and active */
size_t
number_channels,
diff --git a/MagickCore/layer.c b/MagickCore/layer.c
index d1c5f6b..472f1d6 100644
--- a/MagickCore/layer.c
+++ b/MagickCore/layer.c
@@ -104,7 +104,7 @@
if (bounds->x < 0)
return;
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
for (y=0; y < (ssize_t) bounds->height; y++)
{
@@ -270,7 +270,7 @@
if (coalesce_image == (Image *) NULL)
return((Image *) NULL);
(void) SetImageBackgroundColor(coalesce_image,exception);
- coalesce_image->matte=next->matte;
+ coalesce_image->alpha_trait=next->alpha_trait;
coalesce_image->page=bounds;
coalesce_image->dispose=NoneDispose;
/*
@@ -328,7 +328,7 @@
coalesce_image->next->previous=coalesce_image;
previous=coalesce_image;
coalesce_image=GetNextImageInList(coalesce_image);
- (void) CompositeImage(coalesce_image,next,next->matte != MagickFalse ?
+ (void) CompositeImage(coalesce_image,next,next->alpha_trait == BlendPixelTrait ?
OverCompositeOp : CopyCompositeOp,MagickTrue,next->page.x,next->page.y,
exception);
(void) CloneImageProfiles(coalesce_image,next);
@@ -423,7 +423,7 @@
dispose_image=DestroyImage(dispose_image);
return((Image *) NULL);
}
- (void) CompositeImage(current_image,next,next->matte != MagickFalse ?
+ (void) CompositeImage(current_image,next,next->alpha_trait == BlendPixelTrait ?
OverCompositeOp : CopyCompositeOp,MagickTrue,next->page.x,next->page.y,
exception);
/*
@@ -532,8 +532,8 @@
if (method == CompareAnyLayer)
return((MagickBooleanType)(IsFuzzyEquivalencePixelInfo(p,q) == MagickFalse));
- o1 = (p->matte != MagickFalse) ? p->alpha : OpaqueAlpha;
- o2 = (q->matte != MagickFalse) ? q->alpha : OpaqueAlpha;
+ o1 = (p->alpha_trait == BlendPixelTrait) ? p->alpha : OpaqueAlpha;
+ o2 = (q->alpha_trait == BlendPixelTrait) ? q->alpha : OpaqueAlpha;
/*
Pixel goes from opaque to transprency
@@ -1499,7 +1499,7 @@
dispose_image=DestroyImage(dispose_image);
return;
}
- (void) CompositeImage(current_image,next,next->matte != MagickFalse ?
+ (void) CompositeImage(current_image,next,next->alpha_trait == BlendPixelTrait ?
OverCompositeOp : CopyCompositeOp,MagickTrue,next->page.x,next->page.y,
exception);
/*
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h
index 6bde21a..31a76aa 100644
--- a/MagickCore/magick-config.h
+++ b/MagickCore/magick-config.h
@@ -12,7 +12,9 @@
/* #undef AUTOTRACE_DELEGATE */
/* Define if coders and filters are to be built as modules. */
-/* #undef BUILD_MODULES */
+#ifndef MAGICKCORE_BUILD_MODULES
+#define MAGICKCORE_BUILD_MODULES 1
+#endif
/* Define if you have the bzip2 library */
#ifndef MAGICKCORE_BZLIB_DELEGATE
@@ -1189,7 +1191,9 @@
#endif
/* Define if you have JBIG library */
-/* #undef JBIG_DELEGATE */
+#ifndef MAGICKCORE_JBIG_DELEGATE
+#define MAGICKCORE_JBIG_DELEGATE 1
+#endif
/* Define if you have JPEG version 2 "Jasper" library */
#ifndef MAGICKCORE_JP2_DELEGATE
@@ -1218,7 +1222,9 @@
#endif
/* Define if you have LQR library */
-/* #undef LQR_DELEGATE */
+#ifndef MAGICKCORE_LQR_DELEGATE
+#define MAGICKCORE_LQR_DELEGATE 1
+#endif
/* Define if using libltdl to support dynamically loadable modules */
#ifndef MAGICKCORE_LTDL_DELEGATE
@@ -1230,7 +1236,7 @@
/* Define to the system default library search path. */
#ifndef MAGICKCORE_LT_DLSEARCH_PATH
-#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib64/freetype-freeworld:/usr/lib/llvm:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/nvidia:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib64/tracker-0.14:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
+#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib64/freetype-freeworld:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/nvidia:/usr/lib64/qt-3.3/lib:/usr/lib64/tracker-0.14:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
#endif
/* The archive extension */
@@ -1529,7 +1535,9 @@
#endif
/* Define if you have WEBP library */
-/* #undef WEBP_DELEGATE */
+#ifndef MAGICKCORE_WEBP_DELEGATE
+#define MAGICKCORE_WEBP_DELEGATE 1
+#endif
/* Define to use the Windows GDI32 library */
/* #undef WINGDI32_DELEGATE */
@@ -1538,7 +1546,9 @@
/* #undef WITH_DMALLOC */
/* Define if you have wmflite library */
-/* #undef WMFLITE_DELEGATE */
+#ifndef MAGICKCORE_WMFLITE_DELEGATE
+#define MAGICKCORE_WMFLITE_DELEGATE 1
+#endif
/* Define if you have wmf library */
/* #undef WMF_DELEGATE */
diff --git a/MagickCore/morphology.c b/MagickCore/morphology.c
index 40cce5c..c822376 100644
--- a/MagickCore/morphology.c
+++ b/MagickCore/morphology.c
@@ -2731,7 +2731,7 @@
k = &kernel->values[ kernel->height-1 ];
k_pixels = p;
if ( (image->channel_mask != DefaultChannels) ||
- (image->matte == MagickFalse) )
+ (image->alpha_trait != BlendPixelTrait) )
{ /* No 'Sync' involved.
** Convolution is just a simple greyscale channel operation
*/
@@ -2756,7 +2756,7 @@
(image->colorspace == CMYKColorspace))
SetPixelBlack(morphology_image,ClampToQuantum(result.black),q);
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
SetPixelAlpha(morphology_image,ClampToQuantum(result.alpha),q);
}
else
@@ -2957,7 +2957,7 @@
k = &kernel->values[ kernel->width*kernel->height-1 ];
k_pixels = p;
if ( (image->channel_mask != DefaultChannels) ||
- (image->matte == MagickFalse) )
+ (image->alpha_trait != BlendPixelTrait) )
{ /* No 'Sync' involved.
** Convolution is simple greyscale channel operation
*/
@@ -2992,7 +2992,7 @@
SetPixelBlack(morphology_image,ClampToQuantum(result.black),
q);
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
SetPixelAlpha(morphology_image,ClampToQuantum(result.alpha),
q);
}
@@ -3337,7 +3337,7 @@
(image->colorspace == CMYKColorspace))
SetPixelBlack(morphology_image,ClampToQuantum(result.black),q);
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
SetPixelAlpha(morphology_image,ClampToQuantum(result.alpha),q);
break;
}
@@ -3599,7 +3599,7 @@
(image->colorspace == CMYKColorspace))
SetPixelBlack(image,ClampToQuantum(result.black),q);
if ((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0 &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
SetPixelAlpha(image,ClampToQuantum(result.alpha),q);
break;
}
@@ -3783,7 +3783,7 @@
(image->colorspace == CMYKColorspace))
SetPixelBlack(image,ClampToQuantum(result.black),q);
if ((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0 &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
SetPixelAlpha(image,ClampToQuantum(result.alpha),q);
break;
}
diff --git a/MagickCore/paint.c b/MagickCore/paint.c
index e9acbcb..e0cdd55 100644
--- a/MagickCore/paint.c
+++ b/MagickCore/paint.c
@@ -174,7 +174,7 @@
return(MagickFalse);
if (IsGrayColorspace(image->colorspace) != MagickFalse)
(void) TransformImageColorspace(image,RGBColorspace,exception);
- if ((image->matte == MagickFalse) && (draw_info->fill.matte != MagickFalse))
+ if ((image->alpha_trait != BlendPixelTrait) && (draw_info->fill.alpha_trait == BlendPixelTrait))
(void) SetImageAlpha(image,OpaqueAlpha,exception);
/*
Set floodfill state.
@@ -183,7 +183,7 @@
exception);
if (floodplane_image == (Image *) NULL)
return(MagickFalse);
- floodplane_image->matte=MagickFalse;
+ floodplane_image->alpha_trait=UndefinedPixelTrait;
floodplane_image->colorspace=GRAYColorspace;
(void) QueryColorCompliance("#000",AllCompliance,
&floodplane_image->background_color,exception);
@@ -776,7 +776,7 @@
if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
(IsPixelInfoGray(fill) == MagickFalse))
(void) TransformImageColorspace(image,RGBColorspace,exception);
- if ((fill->matte != MagickFalse) && (image->matte == MagickFalse))
+ if ((fill->alpha_trait == BlendPixelTrait) && (image->alpha_trait != BlendPixelTrait))
(void) SetImageAlpha(image,OpaqueAlpha,exception);
/*
Make image color opaque.
@@ -903,7 +903,7 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
/*
Make image color transparent.
@@ -1031,7 +1031,7 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
/*
Make image color transparent.
diff --git a/MagickCore/pixel-accessor.h b/MagickCore/pixel-accessor.h
index d1dd490..b6575f4 100644
--- a/MagickCore/pixel-accessor.h
+++ b/MagickCore/pixel-accessor.h
@@ -437,13 +437,13 @@
static inline MagickBooleanType IsPixelInfoEquivalent(
const PixelInfo *restrict p,const PixelInfo *restrict q)
{
- if ((p->matte != MagickFalse) && (q->matte == MagickFalse) &&
+ if ((p->alpha_trait == BlendPixelTrait) && (q->alpha_trait != BlendPixelTrait) &&
(fabs(p->alpha-OpaqueAlpha) >= MagickEpsilon))
return(MagickFalse);
- if ((q->matte != MagickFalse) && (p->matte == MagickFalse) &&
+ if ((q->alpha_trait == BlendPixelTrait) && (p->alpha_trait != BlendPixelTrait) &&
(fabs(q->alpha-OpaqueAlpha)) >= MagickEpsilon)
return(MagickFalse);
- if ((p->matte != MagickFalse) && (q->matte != MagickFalse))
+ if ((p->alpha_trait == BlendPixelTrait) && (q->alpha_trait == BlendPixelTrait))
{
if (fabs(p->alpha-q->alpha) >= MagickEpsilon)
return(MagickFalse);
@@ -664,8 +664,9 @@
pixel[image->channel_map[BlackPixelChannel].offset]=
ClampToQuantum(pixel_info->black);
if (image->channel_map[AlphaPixelChannel].traits != UndefinedPixelTrait)
- pixel[image->channel_map[AlphaPixelChannel].offset]=pixel_info->matte ==
- MagickFalse ? OpaqueAlpha : ClampToQuantum(pixel_info->alpha);
+ pixel[image->channel_map[AlphaPixelChannel].offset]=
+ pixel_info->alpha_trait != BlendPixelTrait ? OpaqueAlpha :
+ ClampToQuantum(pixel_info->alpha);
}
static inline void SetPixelL(const Image *restrict image,const Quantum L,
diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c
index 8381500..a1856c4 100644
--- a/MagickCore/pixel.c
+++ b/MagickCore/pixel.c
@@ -2006,7 +2006,7 @@
{
pixel->storage_class=DirectClass;
pixel->colorspace=sRGBColorspace;
- pixel->matte=MagickFalse;
+ pixel->alpha_trait=UndefinedPixelTrait;
pixel->fuzz=0.0;
pixel->depth=MAGICKCORE_QUANTUM_DEPTH;
pixel->red=0.0;
@@ -2019,7 +2019,7 @@
return;
pixel->storage_class=image->storage_class;
pixel->colorspace=image->colorspace;
- pixel->matte=image->matte;
+ pixel->alpha_trait=image->alpha_trait;
pixel->depth=image->depth;
pixel->fuzz=image->fuzz;
}
@@ -3736,7 +3736,7 @@
case 'A':
{
quantum_map[i]=AlphaQuantum;
- image->matte=MagickTrue;
+ image->alpha_trait=BlendPixelTrait;
break;
}
case 'B':
@@ -3783,7 +3783,7 @@
case 'o':
{
quantum_map[i]=OpacityQuantum;
- image->matte=MagickTrue;
+ image->alpha_trait=BlendPixelTrait;
break;
}
case 'P':
@@ -3910,7 +3910,7 @@
(void) ResetMagickMemory(image->channel_map,0,MaxPixelChannels*
sizeof(*image->channel_map));
trait=UpdatePixelTrait;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
trait=(PixelTrait) (trait | BlendPixelTrait);
n=0;
if (image->colorspace == GRAYColorspace)
@@ -3927,7 +3927,7 @@
}
if (image->colorspace == CMYKColorspace)
SetPixelChannelAttributes(image,BlackPixelChannel,trait,n++);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait != UndefinedPixelTrait)
SetPixelChannelAttributes(image,AlphaPixelChannel,CopyPixelTrait,n++);
if (image->storage_class == PseudoClass)
SetPixelChannelAttributes(image,IndexPixelChannel,CopyPixelTrait,n++);
@@ -4988,7 +4988,7 @@
static inline void AlphaBlendPixelInfo(const Image *image,
const Quantum *pixel,PixelInfo *pixel_info,double *alpha)
{
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
{
*alpha=1.0;
pixel_info->red=(double) GetPixelRed(image,pixel);
@@ -5544,7 +5544,7 @@
destination->fuzz,(double) MagickSQ1_2);
scale=1.0;
distance=0.0;
- if (source->matte != MagickFalse)
+ if (source->alpha_trait == BlendPixelTrait)
{
/*
Transparencies are involved - set alpha distance
@@ -5663,13 +5663,13 @@
(double) MagickSQ1_2);
scale=1.0;
distance=0.0;
- if ((p->matte != MagickFalse) || (q->matte != MagickFalse))
+ if ((p->alpha_trait == BlendPixelTrait) || (q->alpha_trait == BlendPixelTrait))
{
/*
Transparencies are involved - set alpha distance.
*/
- pixel=(p->matte != MagickFalse ? p->alpha : OpaqueAlpha)-
- (q->matte != MagickFalse ? q->alpha : OpaqueAlpha);
+ pixel=(p->alpha_trait == BlendPixelTrait ? p->alpha : OpaqueAlpha)-
+ (q->alpha_trait == BlendPixelTrait ? q->alpha : OpaqueAlpha);
distance=pixel*pixel;
if (distance > fuzz)
return(MagickFalse);
@@ -5677,9 +5677,9 @@
Generate a alpha scaling factor to generate a 4D cone on colorspace.
If one color is transparent, distance has no color component.
*/
- if (p->matte != MagickFalse)
+ if (p->alpha_trait == BlendPixelTrait)
scale=(QuantumScale*p->alpha);
- if (q->matte != MagickFalse)
+ if (q->alpha_trait == BlendPixelTrait)
scale*=(QuantumScale*q->alpha);
if (scale <= MagickEpsilon )
return(MagickTrue);
@@ -5773,8 +5773,8 @@
channel=GetPixelChannelChannel(image,i);
SetPixelChannelTraits(image,channel,
GetChannelBit(channel_mask,channel) == 0 ? CopyPixelTrait :
- image->matte == MagickFalse || (channel == AlphaPixelChannel) ?
- UpdatePixelTrait : (PixelTrait) (UpdatePixelTrait | BlendPixelTrait));
+ image->alpha_trait != BlendPixelTrait || (channel == AlphaPixelChannel) ?
+ UpdatePixelTrait : (PixelTrait) (UpdatePixelTrait | image->alpha_trait));
}
if (image->storage_class == PseudoClass)
SetPixelChannelTraits(image,IndexPixelChannel,CopyPixelTrait);
diff --git a/MagickCore/pixel.h b/MagickCore/pixel.h
index 3e6ee22..cd1ac2a 100644
--- a/MagickCore/pixel.h
+++ b/MagickCore/pixel.h
@@ -129,8 +129,8 @@
ColorspaceType
colorspace;
- MagickBooleanType
- matte;
+ PixelTrait
+ alpha_trait;
double
fuzz;
diff --git a/MagickCore/profile.c b/MagickCore/profile.c
index 8944be2..ae5614f 100644
--- a/MagickCore/profile.c
+++ b/MagickCore/profile.c
@@ -949,19 +949,19 @@
{
case cmsSigRgbData:
{
- image->type=image->matte == MagickFalse ? TrueColorType :
+ image->type=image->alpha_trait != BlendPixelTrait ? TrueColorType :
TrueColorMatteType;
break;
}
case cmsSigCmykData:
{
- image->type=image->matte == MagickFalse ? ColorSeparationType :
+ image->type=image->alpha_trait != BlendPixelTrait ? ColorSeparationType :
ColorSeparationMatteType;
break;
}
case cmsSigGrayData:
{
- image->type=image->matte == MagickFalse ? GrayscaleType :
+ image->type=image->alpha_trait != BlendPixelTrait ? GrayscaleType :
GrayscaleMatteType;
break;
}
diff --git a/MagickCore/property.c b/MagickCore/property.c
index a8422b9..8026348 100644
--- a/MagickCore/property.c
+++ b/MagickCore/property.c
@@ -2314,7 +2314,7 @@
(void) FormatLocaleString(value,MaxTextExtent,"%s %s %s",
CommandOptionToMnemonic(MagickClassOptions,(ssize_t) image->storage_class),
CommandOptionToMnemonic(MagickColorspaceOptions,(ssize_t) colorspace),
- IfMagickTrue(image->matte) ? "Matte" : "");
+ image->alpha_trait == BlendPixelTrait ? "Matte" : "");
break;
}
case 's': /* Image scene number */
@@ -2366,7 +2366,7 @@
case 'A': /* Image alpha channel */
{
(void) FormatLocaleString(value,MaxTextExtent,"%s",
- CommandOptionToMnemonic(MagickBooleanOptions,(ssize_t) image->matte));
+ CommandOptionToMnemonic(MagickBooleanOptions,(ssize_t) image->alpha_trait));
break;
}
case 'C': /* Image compression method. */
@@ -2525,7 +2525,7 @@
CommandOptionToMnemonic(MagickColorspaceOptions,(ssize_t)
image->colorspace));
LocaleLower(value);
- if( IfMagickTrue(image->matte) )
+ if( image->alpha_trait == BlendPixelTrait )
(void) ConcatenateMagickString(value,"a",MaxTextExtent);
break;
}
diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c
index 87d08d5..b8e2597 100644
--- a/MagickCore/quantize.c
+++ b/MagickCore/quantize.c
@@ -751,7 +751,7 @@
MagickBooleanType
associate_alpha;
- associate_alpha=image->matte;
+ associate_alpha=image->alpha_trait;
if (cube_info->quantize_info->colorspace == TransparentColorspace)
associate_alpha=MagickFalse;
if ((cube_info->quantize_info->number_colors == 2) &&
@@ -2233,7 +2233,7 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
index=1UL*GetPixelIndex(image,p);
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
{
alpha=(double) (QuantumScale*GetPixelAlpha(image,p));
beta=(double) (QuantumScale*image->colormap[index].alpha);
@@ -2434,7 +2434,7 @@
(image->colorspace == CMYKColorspace))
SetPixelBlack(image,PosterizePixel(GetPixelBlack(image,q)),q);
if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte == MagickTrue))
+ (image->alpha_trait == BlendPixelTrait))
SetPixelAlpha(image,PosterizePixel(GetPixelAlpha(image,q)),q);
q+=GetPixelChannels(image);
}
@@ -2737,7 +2737,7 @@
maximum_colors=MaxColormapSize;
if (maximum_colors > MaxColormapSize)
maximum_colors=MaxColormapSize;
- if (image->matte == MagickFalse)
+ if (image->alpha_trait != BlendPixelTrait)
{
if ((image->columns*image->rows) <= maximum_colors)
(void) DirectToColormapImage(image,exception);
@@ -2761,7 +2761,7 @@
colors>>=2;
if ((quantize_info->dither_method != NoDitherMethod) && (depth > 2))
depth--;
- if ((image->matte != MagickFalse) && (depth > 5))
+ if ((image->alpha_trait == BlendPixelTrait) && (depth > 5))
depth--;
}
/*
diff --git a/MagickCore/quantum.c b/MagickCore/quantum.c
index 5ac0bac..da705a7 100644
--- a/MagickCore/quantum.c
+++ b/MagickCore/quantum.c
@@ -494,24 +494,24 @@
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
quantum_type=RGBQuantum;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
quantum_type=RGBAQuantum;
if (image->colorspace == CMYKColorspace)
{
quantum_type=CMYKQuantum;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
quantum_type=CMYKAQuantum;
}
if (IsImageGray(image,exception) != MagickFalse)
{
quantum_type=GrayQuantum;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
quantum_type=GrayAlphaQuantum;
}
if (image->storage_class == PseudoClass)
{
quantum_type=IndexQuantum;
- if (image->matte != MagickFalse)
+ if (image->alpha_trait == BlendPixelTrait)
quantum_type=IndexAlphaQuantum;
}
return(quantum_type);
diff --git a/MagickCore/resample.c b/MagickCore/resample.c
index 7e080eb..45d8a59 100644
--- a/MagickCore/resample.c
+++ b/MagickCore/resample.c
@@ -542,7 +542,7 @@
pixel->red = pixel->green = pixel->blue = 0.0;
if (pixel->colorspace == CMYKColorspace)
pixel->black = 0.0;
- if (pixel->matte != MagickFalse)
+ if (pixel->alpha_trait == BlendPixelTrait)
pixel->alpha = 0.0;
/*
@@ -607,7 +607,7 @@
pixel->alpha += weight*GetPixelAlpha(resample_filter->image,pixels);
divisor_m += weight;
- if (pixel->matte != MagickFalse)
+ if (pixel->alpha_trait == BlendPixelTrait)
weight *= QuantumScale*((double) GetPixelAlpha(resample_filter->image,pixels));
pixel->red += weight*GetPixelRed(resample_filter->image,pixels);
pixel->green += weight*GetPixelGreen(resample_filter->image,pixels);
diff --git a/MagickCore/resize.c b/MagickCore/resize.c
index 45bd8fb..f2853e7 100644
--- a/MagickCore/resize.c
+++ b/MagickCore/resize.c
@@ -2660,7 +2660,7 @@
filter_type=PointFilter;
else
if ((image->storage_class == PseudoClass) ||
- IfMagickTrue(image->matte) ||
+ image->alpha_trait == BlendPixelTrait ||
((x_factor*y_factor) > 1.0))
filter_type=MitchellFilter;
resize_filter=AcquireResizeFilter(image,filter_type,MagickFalse,exception);
@@ -3411,7 +3411,7 @@
if (thumbnail_image == (Image *) NULL)
return(thumbnail_image);
(void) ParseAbsoluteGeometry("0x0+0+0",&thumbnail_image->page);
- if( IfMagickFalse(thumbnail_image->matte) )
+ if( IfMagickFalse(thumbnail_image->alpha_trait) )
(void) SetImageAlphaChannel(thumbnail_image,OpaqueAlphaChannel,exception);
thumbnail_image->depth=8;
thumbnail_image->interlace=NoInterlace;
diff --git a/MagickCore/shear.c b/MagickCore/shear.c
index e540838..0e17470 100644
--- a/MagickCore/shear.c
+++ b/MagickCore/shear.c
@@ -1897,7 +1897,7 @@
integral_image=DestroyImage(integral_image);
return(integral_image);
}
- if (integral_image->matte == MagickFalse)
+ if (integral_image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(integral_image,OpaqueAlphaChannel,exception);
/*
Compute image size.
@@ -1921,7 +1921,7 @@
/*
Shear the image.
*/
- if (shear_image->matte == MagickFalse)
+ if (shear_image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(shear_image,OpaqueAlphaChannel,exception);
status=XShearImage(shear_image,shear.x,image->columns,image->rows,x_offset,
(ssize_t) (shear_image->rows-image->rows)/2,exception);
@@ -2048,7 +2048,7 @@
integral_image=DestroyImage(integral_image);
return(integral_image);
}
- if (integral_image->matte == MagickFalse)
+ if (integral_image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(integral_image,OpaqueAlphaChannel,exception);
/*
Compute image size.
diff --git a/MagickCore/transform.c b/MagickCore/transform.c
index 85cf8f6..d64d049 100644
--- a/MagickCore/transform.c
+++ b/MagickCore/transform.c
@@ -1084,7 +1084,7 @@
return((Image *) NULL);
}
if (extent_image->background_color.alpha != OpaqueAlpha)
- extent_image->matte=MagickTrue;
+ extent_image->alpha_trait=BlendPixelTrait;
(void) SetImageBackgroundColor(extent_image,exception);
(void) CompositeImage(extent_image,image,image->compose,MagickTrue,
-geometry->x,-geometry->y,exception);
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 5786607..1d09dc4 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -27,14 +27,14 @@
*/
#define MagickPackageName "ImageMagick"
#define MagickCopyright "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision "9117:9136M"
+#define MagickSVNRevision "Unversioned"
#define MagickLibVersion 0x700
#define MagickLibVersionText "7.0.0"
#define MagickLibVersionNumber 7,0,0
#define MagickLibAddendum "-0"
#define MagickLibInterface 7
#define MagickLibMinInterface 7
-#define MagickReleaseDate "2012-08-27"
+#define MagickReleaseDate "2012-08-28"
#define MagickChangeDate "20120808"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#if defined(MAGICKCORE_OPENMP_SUPPORT)
diff --git a/MagickCore/xwindow.c b/MagickCore/xwindow.c
index 9a2b866..a9c203b 100644
--- a/MagickCore/xwindow.c
+++ b/MagickCore/xwindow.c
@@ -560,7 +560,7 @@
(void) GetOneVirtualPixelInfo(image,UndefinedVirtualPixelMethod,(ssize_t) x,
(ssize_t) y,&annotate_image->background_color,exception);
if (annotate_info->stencil == ForegroundStencil)
- annotate_image->matte=MagickTrue;
+ annotate_image->alpha_trait=BlendPixelTrait;
annotate_view=AcquireAuthenticCacheView(annotate_image,exception);
for (y=0; y < (int) annotate_image->rows; y++)
{
@@ -695,11 +695,11 @@
Composite text onto the image.
*/
(void) XParseGeometry(annotate_info->geometry,&x,&y,&width,&height);
- matte=image->matte;
+ matte=image->alpha_trait;
(void) CompositeImage(image,annotate_image,
- annotate_image->matte != MagickFalse ? OverCompositeOp : CopyCompositeOp,
+ annotate_image->alpha_trait == BlendPixelTrait ? OverCompositeOp : CopyCompositeOp,
MagickTrue,(ssize_t) x,(ssize_t) y,exception);
- image->matte=matte;
+ image->alpha_trait=matte;
annotate_image=DestroyImage(annotate_image);
return(MagickTrue);
}
@@ -2483,7 +2483,7 @@
(ssize_t) y,&draw_image->background_color,exception);
if (SetImageStorageClass(draw_image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- draw_image->matte=MagickTrue;
+ draw_image->alpha_trait=BlendPixelTrait;
draw_view=AcquireAuthenticCacheView(draw_image,exception);
for (y=0; y < (int) draw_image->rows; y++)
{
@@ -2639,10 +2639,10 @@
(ssize_t) x,(ssize_t) y,exception);
else
{
- matte=image->matte;
+ matte=image->alpha_trait;
(void) CompositeImage(image,draw_image,OverCompositeOp,MagickTrue,
(ssize_t) x,(ssize_t) y,exception);
- image->matte=matte;
+ image->alpha_trait=matte;
}
draw_image=DestroyImage(draw_image);
return(MagickTrue);
@@ -5732,7 +5732,7 @@
window->ximage=ximage;
matte_image=(XImage *) NULL;
if ((window->shape != MagickFalse) && (window->image != (Image *) NULL))
- if ((window->image->matte != MagickFalse) &&
+ if ((window->image->alpha_trait == BlendPixelTrait) &&
((int) width <= XDisplayWidth(display,window->screen)) &&
((int) height <= XDisplayHeight(display,window->screen)))
{
@@ -5918,7 +5918,7 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
canvas=image;
if ((window->immutable == MagickFalse) &&
- (image->storage_class == DirectClass) && (image->matte != MagickFalse))
+ (image->storage_class == DirectClass) && (image->alpha_trait == BlendPixelTrait))
{
char
size[MaxTextExtent];
@@ -6544,7 +6544,7 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
canvas=image;
if ((window->immutable != MagickFalse) &&
- (image->storage_class == DirectClass) && (image->matte != MagickFalse))
+ (image->storage_class == DirectClass) && (image->alpha_trait == BlendPixelTrait))
{
char
size[MaxTextExtent];
@@ -7526,7 +7526,7 @@
(void) ConcatenateMagickString(tuple,",",MaxTextExtent);
ConcatenateColorComponent(&pixel,BlackPixelChannel,X11Compliance,tuple);
}
- if (pixel.matte != MagickFalse)
+ if (pixel.alpha_trait == BlendPixelTrait)
{
(void) ConcatenateMagickString(tuple,",",MaxTextExtent);
ConcatenateColorComponent(&pixel,AlphaPixelChannel,X11Compliance,tuple);
@@ -7783,7 +7783,7 @@
number_colors=(unsigned int) (map_info->base_pixel+
(map_info->red_max+1)*(map_info->green_max+1)*(map_info->blue_max+1));
if ((map_info->red_max*map_info->green_max*map_info->blue_max) != 0)
- if ((image->matte == MagickFalse) &&
+ if ((image->alpha_trait != BlendPixelTrait) &&
(resource_info->color_recovery == MagickFalse) &&
(resource_info->quantize_info->dither_method != NoDitherMethod) &&
(number_colors < MaxColormapSize))