]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 29 Aug 2012 00:45:37 +0000 (00:45 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 29 Aug 2012 00:45:37 +0000 (00:45 +0000)
28 files changed:
MagickCore/color.c
MagickCore/image.c
MagickCore/magick-config.h
MagickCore/pixel.c
MagickCore/quantize.c
MagickCore/version.h
MagickCore/xwindow.c
MagickWand/drawing-wand.c
MagickWand/magick-image.c
MagickWand/pixel-wand.c
coders/bmp.c
coders/dds.c
coders/dib.c
coders/djvu.c
coders/gif.c
coders/jp2.c
coders/pcx.c
coders/pict.c
coders/png.c
coders/psd.c
coders/rla.c
coders/rle.c
coders/sgi.c
coders/sun.c
coders/tga.c
coders/viff.c
config/ImageMagick.rdf
config/configure.xml

index e40626442f6f83854edbe468a06f2faf338f6c22..1e89d095aeab767123794765addee2c8dfee5a37 100644 (file)
@@ -2434,7 +2434,8 @@ MagickExport MagickBooleanType QueryColorCompliance(const char *name,
   if (p == (const ColorInfo *) NULL)
     return(MagickFalse);
   color->colorspace=sRGBColorspace;
-  color->alpha_trait=p->color.alpha != OpaqueAlpha ? MagickTrue : MagickFalse;
+  color->alpha_trait=p->color.alpha != OpaqueAlpha ? BlendPixelTrait :
+    UndefinedPixelTrait;
   color->red=(double) p->color.red;
   color->green=(double) p->color.green;
   color->blue=(double) p->color.blue;
index ec4388eded0b780089e470b0ba2b3512765fdbbb..28fabc7258f9ea61ebb611dd386f84c76969d744 100644 (file)
@@ -1665,9 +1665,6 @@ MagickExport MagickBooleanType IsHighDynamicRangeImage(const Image *image,
       }
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      PixelTrait
-        traits;
-
       register ssize_t
         i;
 
@@ -1681,7 +1678,10 @@ MagickExport MagickBooleanType IsHighDynamicRangeImage(const Image *image,
         double
           pixel;
 
-        traits=GetPixelChannelTraits(image,i);
+        PixelTrait
+          traits;
+
+        traits=GetPixelChannelTraits(image,(PixelChannel) i);
         if (traits == UndefinedPixelTrait)
           continue;
         pixel=(double) p[i];
index 31a76aa21fe915a55471ef2fcae2a1a62e5b315c..6bde21aa08fe53bea01e1a3650909c2920bf1280 100644 (file)
@@ -12,9 +12,7 @@
 /* #undef AUTOTRACE_DELEGATE */
 
 /* Define if coders and filters are to be built as modules. */
-#ifndef MAGICKCORE_BUILD_MODULES
-#define MAGICKCORE_BUILD_MODULES 1
-#endif
+/* #undef BUILD_MODULES */
 
 /* Define if you have the bzip2 library */
 #ifndef MAGICKCORE_BZLIB_DELEGATE
 #endif
 
 /* Define if you have JBIG library */
-#ifndef MAGICKCORE_JBIG_DELEGATE
-#define MAGICKCORE_JBIG_DELEGATE 1
-#endif
+/* #undef JBIG_DELEGATE */
 
 /* Define if you have JPEG version 2 "Jasper" library */
 #ifndef MAGICKCORE_JP2_DELEGATE
 #endif
 
 /* Define if you have LQR library */
-#ifndef MAGICKCORE_LQR_DELEGATE
-#define MAGICKCORE_LQR_DELEGATE 1
-#endif
+/* #undef LQR_DELEGATE */
 
 /* Define if using libltdl to support dynamically loadable modules */
 #ifndef MAGICKCORE_LTDL_DELEGATE
 
 /* 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/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"
+#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"
 #endif
 
 /* The archive extension */
 #endif
 
 /* Define if you have WEBP library */
-#ifndef MAGICKCORE_WEBP_DELEGATE
-#define MAGICKCORE_WEBP_DELEGATE 1
-#endif
+/* #undef WEBP_DELEGATE */
 
 /* Define to use the Windows GDI32 library */
 /* #undef WINGDI32_DELEGATE */
 /* #undef WITH_DMALLOC */
 
 /* Define if you have wmflite library */
-#ifndef MAGICKCORE_WMFLITE_DELEGATE
-#define MAGICKCORE_WMFLITE_DELEGATE 1
-#endif
+/* #undef WMFLITE_DELEGATE */
 
 /* Define if you have wmf library */
 /* #undef WMF_DELEGATE */
index 1d88162dd9ad365db48e0aaec4ab5856a9c1ce73..4bf130a48a2b86fbb1c01bb9668222296133ea51 100644 (file)
@@ -3992,7 +3992,7 @@ static inline double MagickMax(const double x,const double y)
   return(y);
 }
 
-static inline void CatromWeights(const double x,double **weights)
+static inline void CatromWeights(const double x,double (*weights)[4])
 {
   double
     alpha,
@@ -4019,7 +4019,7 @@ static inline void CatromWeights(const double x,double **weights)
   (*weights)[2]=x-(*weights)[3]-gamma;
 }
 
-static inline void SplineWeights(const double x,double **weights)
+static inline void SplineWeights(const double x,double (*weights)[4])
 {
   double
     alpha,
index b8e259777cceebf0f2c028a4339679bf6e4a5f08..fe2e30d6c248b99824b6ef82d9bf37bf6a41afa8 100644 (file)
@@ -751,7 +751,8 @@ static inline void SetAssociatedAlpha(const Image *image,CubeInfo *cube_info)
   MagickBooleanType
     associate_alpha;
 
-  associate_alpha=image->alpha_trait;
+  associate_alpha=image->alpha_trait == BlendPixelTrait ? MagickTrue :
+    MagickFalse;
   if (cube_info->quantize_info->colorspace == TransparentColorspace)
     associate_alpha=MagickFalse;
   if ((cube_info->quantize_info->number_colors == 2) &&
index 1d09dc4781a13de00bdaca6fefa1e1f65ee03c3f..b75c549e7bae96bded718bc1236d5db533dc12e1 100644 (file)
@@ -27,7 +27,7 @@ extern "C" {
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision  "Unversioned"
+#define MagickSVNRevision  "9117:9136M"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  7,0,0
index a9c203b8c89054bd2c738e418fc01525a3d384d3..4b518b32198f8ac1c5c4cd0c25f6de72c16351b0 100644 (file)
@@ -479,8 +479,8 @@ MagickPrivate MagickBooleanType XAnnotateImage(Display *display,
     x,
     y;
 
-  MagickBooleanType
-    matte;
+  PixelTrait
+    alpha_trait;
 
   Pixmap
     annotate_pixmap;
@@ -695,11 +695,11 @@ MagickPrivate MagickBooleanType XAnnotateImage(Display *display,
     Composite text onto the image.
   */
   (void) XParseGeometry(annotate_info->geometry,&x,&y,&width,&height);
-  matte=image->alpha_trait;
+  alpha_trait=image->alpha_trait;
   (void) CompositeImage(image,annotate_image,
-    annotate_image->alpha_trait == BlendPixelTrait ? OverCompositeOp : CopyCompositeOp,
-    MagickTrue,(ssize_t) x,(ssize_t) y,exception);
-  image->alpha_trait=matte;
+    annotate_image->alpha_trait == BlendPixelTrait ? OverCompositeOp :
+    CopyCompositeOp,MagickTrue,(ssize_t) x,(ssize_t) y,exception);
+  image->alpha_trait=alpha_trait;
   annotate_image=DestroyImage(annotate_image);
   return(MagickTrue);
 }
@@ -2318,8 +2318,8 @@ MagickPrivate MagickBooleanType XDrawImage(Display *display,
     x,
     y;
 
-  MagickBooleanType
-    matte;
+  PixelTrait
+    alpha_trait;
 
   Pixmap
     draw_pixmap;
@@ -2639,10 +2639,10 @@ MagickPrivate MagickBooleanType XDrawImage(Display *display,
       (ssize_t) x,(ssize_t) y,exception);
   else
     {
-      matte=image->alpha_trait;
+      alpha_trait=image->alpha_trait;
       (void) CompositeImage(image,draw_image,OverCompositeOp,MagickTrue,
         (ssize_t) x,(ssize_t) y,exception);
-      image->alpha_trait=matte;
+      image->alpha_trait=alpha_trait;
     }
   draw_image=DestroyImage(draw_image);
   return(MagickTrue);
index ce07484ff9b195d52959aab1b6df0966c39ebdd3..e1e2840851ebfac1467b1a26b83277d39adfbc68 100644 (file)
@@ -401,7 +401,8 @@ static void MvgAppendColor(DrawingWand *wand,const PixelInfo *packet)
 
       GetPixelInfo(wand->image,&pixel);
       pixel.colorspace=sRGBColorspace;
-      pixel.alpha_trait=packet->alpha != OpaqueAlpha ? MagickTrue : MagickFalse;
+      pixel.alpha_trait=packet->alpha != OpaqueAlpha ? BlendPixelTrait :
+        UndefinedPixelTrait;
       pixel.red=(double) packet->red;
       pixel.green=(double) packet->green;
       pixel.blue=(double) packet->blue;
@@ -2465,7 +2466,7 @@ WandExport char *DrawGetVectorGraphics(DrawingWand *wand)
     {
       if (CurrentContext->fill.alpha != OpaqueAlpha)
         pixel.alpha_trait=CurrentContext->fill.alpha != OpaqueAlpha ?
-          MagickTrue : MagickFalse;
+          BlendPixelTrait : UndefinedPixelTrait;
       pixel=CurrentContext->fill;
       GetColorTuple(&pixel,MagickTrue,value);
       (void) SetXMLTreeContent(child,value);
@@ -2531,7 +2532,7 @@ WandExport char *DrawGetVectorGraphics(DrawingWand *wand)
     {
       if (CurrentContext->stroke.alpha != OpaqueAlpha)
         pixel.alpha_trait=CurrentContext->stroke.alpha != OpaqueAlpha ?
-          MagickTrue : MagickFalse;
+          BlendPixelTrait : UndefinedPixelTrait;
       pixel=CurrentContext->stroke;
       GetColorTuple(&pixel,MagickTrue,value);
       (void) SetXMLTreeContent(child,value);
@@ -2624,7 +2625,7 @@ WandExport char *DrawGetVectorGraphics(DrawingWand *wand)
     {
       if (CurrentContext->undercolor.alpha != OpaqueAlpha)
         pixel.alpha_trait=CurrentContext->undercolor.alpha != OpaqueAlpha ?
-          MagickTrue : MagickFalse;
+          BlendPixelTrait : UndefinedPixelTrait;
       pixel=CurrentContext->undercolor;
       GetColorTuple(&pixel,MagickTrue,value);
       (void) SetXMLTreeContent(child,value);
index 53ec388019faccc99644b131ddcdbe1e778f1b8b..6f644a7ea61a1eea10555b55ea5e3b035f4f69ac 100644 (file)
@@ -10013,12 +10013,12 @@ WandExport MagickBooleanType MagickSetImageMatte(MagickWand *wand,
   assert(wand->signature == WandSignature);
   if( IfMagickTrue(wand->debug) )
     (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
-
   if (wand->images == (Image *) NULL)
     ThrowWandException(WandError,"ContainsNoImages",wand->name);
-  if( IfMagickFalse(wand->images->alpha_trait) && IsMagickTrue(matte))
+  if ((wand->images->alpha_trait != BlendPixelTrait) && IsMagickTrue(matte))
     (void) SetImageAlpha(wand->images,OpaqueAlpha,wand->exception);
-  wand->images->alpha_trait=matte;
+  wand->images->alpha_trait=matte != MagickFalse ? BlendPixelTrait :
+    UndefinedPixelTrait;
   return(MagickTrue);
 }
 \f
index 1556390b2e2ef3ca71756fdb19abf15d6d3506e9..f41c39f627933edbfb91dd6ff07f0aa4d291afdc 100644 (file)
@@ -2150,8 +2150,8 @@ WandExport void PixelSetQuantumPixel(const Image *image,const Quantum *pixel,
   wand->pixel.blue=(double) GetPixelBlue(image,pixel);
   wand->pixel.black=(double) GetPixelBlack(image,pixel);
   wand->pixel.alpha=(double) GetPixelAlpha(image,pixel);
-  wand->pixel.alpha_trait=GetPixelAlpha(image,pixel) != OpaqueAlpha ? MagickTrue :
-    MagickFalse;
+  wand->pixel.alpha_trait=GetPixelAlpha(image,pixel) != OpaqueAlpha ?
+    BlendPixelTrait : UndefinedPixelTrait;
 }
 \f
 /*
index a99115bd028ce95ed84fee6fad8521b0857a1828..6b31d6073ff75c7004c371010faf84880eb88b45 100644 (file)
@@ -841,7 +841,8 @@ static Image *ReadBMPImage(const ImageInfo *image_info,ExceptionInfo *exception)
     image->rows=(size_t) MagickAbsoluteValue(bmp_info.height);
     image->depth=bmp_info.bits_per_pixel <= 8 ? bmp_info.bits_per_pixel : 8;
     if ((bmp_info.bits_per_pixel == 16) || (bmp_info.bits_per_pixel == 32))
-      image->alpha_trait=bmp_info.alpha_mask != 0 ? MagickTrue : MagickFalse;
+      image->alpha_trait=bmp_info.alpha_mask != 0 ? BlendPixelTrait :
+        UndefinedPixelTrait;
     if ((bmp_info.number_colors != 0) || (bmp_info.bits_per_pixel < 16))
       {
         size_t
index 5039245776d9cbe7075a908c91a335678889aed5..e37794f2e51134d3926e37e43c30b86954810b77 100644 (file)
@@ -241,9 +241,8 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
   MagickBooleanType
     status,
     cubemap = MagickFalse,
-    volume = MagickFalse,
-    matte;
-  
+    volume = MagickFalse;
+
   CompressionType
     compression;
 
@@ -253,6 +252,9 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
   DDSDecoder
     *decoder;
   
+  PixelTrait
+    alpha_trait;
+  
   size_t
     n, num_images;
   
@@ -297,12 +299,12 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
       compression = NoCompression;
       if (dds_info.pixelformat.flags & DDPF_ALPHAPIXELS)
         {
-          matte = MagickTrue;
+          alpha_trait = BlendPixelTrait;
           decoder = ReadUncompressedRGBA;
         }
       else
         {
-          matte = MagickTrue;
+          alpha_trait = UndefinedPixelTrait;
           decoder = ReadUncompressedRGB;
         }
     }
@@ -312,7 +314,7 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
       {
         case FOURCC_DXT1:
         {
-          matte = MagickFalse;
+          alpha_trait = UndefinedPixelTrait;
           compression = DXT1Compression;
           decoder = ReadDXT1;
           break;
@@ -320,7 +322,7 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
         
         case FOURCC_DXT3:
         {
-          matte = MagickTrue;
+          alpha_trait = BlendPixelTrait;
           compression = DXT3Compression;
           decoder = ReadDXT3;
           break;
@@ -328,7 +330,7 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
         
         case FOURCC_DXT5:
         {
-          matte = MagickTrue;
+          alpha_trait = BlendPixelTrait;
           compression = DXT5Compression;
           decoder = ReadDXT5;
           break;
@@ -379,7 +381,7 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
         image=SyncNextImageInList(image);
       }
     
-    image->alpha_trait = matte;
+    image->alpha_trait=alpha_trait;
     image->compression = compression;
     image->columns = dds_info.width;
     image->rows = dds_info.height;
index 0872aaed6226522518014b56b375a00dcb4b0e6d..31fa290298cb3bedc72558cd17f22ebe0bad7d2f 100644 (file)
@@ -535,7 +535,8 @@ static Image *ReadDIBImage(const ImageInfo *image_info,ExceptionInfo *exception)
       dib_info.green_mask=ReadBlobLSBLong(image);
       dib_info.blue_mask=ReadBlobLSBLong(image);
     }
-  image->alpha_trait=dib_info.bits_per_pixel == 32 ? MagickTrue : MagickFalse;
+  image->alpha_trait=dib_info.bits_per_pixel == 32 ? BlendPixelTrait :
+    UndefinedPixelTrait;
   image->columns=(size_t) MagickAbsoluteValue(dib_info.width);
   image->rows=(size_t) MagickAbsoluteValue(dib_info.height);
   image->depth=8;
index 5074b0d12893c8e5f3689f289e83127bbc97a385..00a43c8c4c3d4ea71a09c291771101cbf4dbeec7 100644 (file)
@@ -662,7 +662,7 @@ static Image *ReadOneDJVUImage(LoadContext* lc,const int pagenum,
                 /* fixme:  MAGICKCORE_QUANTUM_DEPTH ?*/
                 image->depth =  8UL;    /* i only support that? */
 
-                image->alpha_trait = MagickTrue;
+                image->alpha_trait = BlendPixelTrait;
                 /* is this useful? */
         }
 #if DEBUG
index 0ba987fe82772bcd86260addb8a3a6c2274df850..74bb837fa04415471e24070d546b9ab531007272 100644 (file)
@@ -1253,7 +1253,7 @@ static Image *ReadGIFImage(const ImageInfo *image_info,ExceptionInfo *exception)
     image->ticks_per_second=100;
     image->dispose=(DisposeType) dispose;
     image->iterations=iterations;
-    image->alpha_trait=opacity >= 0 ? MagickTrue : MagickFalse;
+    image->alpha_trait=opacity >= 0 ? BlendPixelTrait : UndefinedPixelTrait;
     delay=0;
     dispose=0;
     iterations=1;
index d9c3008e2f749b2a323c8c25d855a82759c186d4..e70d69143590642351ff7bd557a19890dcef13c5 100644 (file)
@@ -536,7 +536,8 @@ static Image *ReadJP2Image(const ImageInfo *image_info,ExceptionInfo *exception)
   /*
     Convert JPEG 2000 pixels.
   */
-  image->alpha_trait=number_components > 3 ? MagickTrue : MagickFalse;
+  image->alpha_trait=number_components > 3 ? BlendPixelTrait :
+    UndefinedPixelTrait;
   maximum_component_depth=0;
   for (i=0; i < (ssize_t) number_components; i++)
   {
index 38c107b1e0c5edf06f308674e025b9d1588e13b3..0b1e6496a4b7a152fc3aa2abe4ffd37bbd6dc861 100644 (file)
@@ -431,7 +431,8 @@ static Image *ReadPCXImage(const ImageInfo *image_info,ExceptionInfo *exception)
         }
       }
     if (image->storage_class == DirectClass)
-      image->alpha_trait=pcx_info.planes > 3 ? MagickTrue : MagickFalse;
+      image->alpha_trait=pcx_info.planes > 3 ? BlendPixelTrait :
+        UndefinedPixelTrait;
     else
       if ((pcx_info.version == 5) ||
           ((pcx_info.bits_per_pixel*pcx_info.planes) == 1))
index 8b3e77a0c6cdfe93222b22da52912b2dcf89cf5b..a55687ce1a19331b8fd8b7ab4ca36051ac5ff35a 100644 (file)
@@ -1076,7 +1076,7 @@ static Image *ReadPICTImage(const ImageInfo *image_info,
                 ReadPixmap(pixmap);
                 tile_image->depth=1UL*pixmap.component_size;
                 tile_image->alpha_trait=pixmap.component_count == 4 ?
-                  MagickTrue : MagickFalse;
+                  BlendPixelTrait : UndefinedPixelTrait;
                 tile_image->resolution.x=(double) pixmap.horizontal_resolution;
                 tile_image->resolution.y=(double) pixmap.vertical_resolution;
                 tile_image->units=PixelsPerInchResolution;
index 2fb2231aa72e85dfa10a85a6c5442ab719abb287..fa2cf4d51005c575a5281b40118bb8ff18199b7d 100644 (file)
@@ -3015,7 +3015,7 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
         image->alpha_trait=(((int) ping_color_type == PNG_COLOR_TYPE_RGB_ALPHA) ||
             ((int) ping_color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ||
             (png_get_valid(ping,ping_info,PNG_INFO_tRNS))) ?
-            MagickTrue : MagickFalse;
+            BlendPixelTrait : UndefinedPixelTrait;
 
         for (y=0; y < (ssize_t) image->rows; y++)
         {
@@ -3129,10 +3129,11 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
           "    Converting grayscale pixels to pixel packets");
 
       image->alpha_trait=ping_color_type == PNG_COLOR_TYPE_GRAY_ALPHA ?
-        MagickTrue : MagickFalse;
+        BlendPixelTrait : UndefinedPixelTrait;
 
       quantum_scanline=(Quantum *) AcquireQuantumMemory(image->columns,
-        (image->alpha_trait ?  2 : 1)*sizeof(*quantum_scanline));
+        (image->alpha_trait  == BlendPixelTrait?  2 : 1)*
+        sizeof(*quantum_scanline));
 
       if (quantum_scanline == (Quantum *) NULL)
         png_error(ping,"Memory allocation failed");
@@ -3322,7 +3323,8 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
       quantum_scanline=(Quantum *) RelinquishMagickMemory(quantum_scanline);
     }
 
-    image->alpha_trait=found_transparent_pixel;
+    image->alpha_trait=found_transparent_pixel ? BlendPixelTrait :
+      UndefinedPixelTrait;
 
     if (logging != MagickFalse)
       {
@@ -3344,13 +3346,13 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
 
   if (image->storage_class == PseudoClass)
     {
-      MagickBooleanType
-        matte;
+      PixelTrait
+        alpha_trait;
 
-      matte=image->alpha_trait;
+      alpha_trait=image->alpha_trait;
       image->alpha_trait=UndefinedPixelTrait;
       (void) SyncImage(image,exception);
-      image->alpha_trait=matte;
+      image->alpha_trait=alpha_trait;
     }
 
   png_read_end(ping,end_info);
@@ -3611,7 +3613,7 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
     image->alpha_trait=(((int) ping_color_type == PNG_COLOR_TYPE_RGB_ALPHA) ||
         ((int) ping_color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ||
         (png_get_valid(ping,ping_info,PNG_INFO_tRNS))) ?
-        MagickTrue : MagickFalse;
+        BlendPixelTrait : UndefinedPixelTrait;
 
    /* Set more properties for identify to retrieve */
    {
@@ -8991,7 +8993,7 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
   quantum_info = (QuantumInfo *) NULL;
   number_colors=0;
   image_colors=(int) image->colors;
-  image_matte=image->alpha_trait;
+  image_matte=image->alpha_trait == BlendPixelTrait ? MagickTrue : MagickFalse;
 
   mng_info->IsPalette=image->storage_class == PseudoClass &&
     image_colors <= 256 && image->colormap != NULL;
@@ -10233,7 +10235,7 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
   if (image_matte != MagickFalse && image->alpha_trait != BlendPixelTrait)
     {
       /* Add an opaque matte channel */
-      image->alpha_trait = MagickTrue;
+      image->alpha_trait = BlendPixelTrait;
       (void) SetImageAlpha(image,OpaqueAlpha,exception);
 
       if (logging != MagickFalse)
index 4e8040bea8a7382f0dc6b653b15a6cec057331ed..2dcc26415781bc411bf43af70c129d447a9a7931 100644 (file)
@@ -832,7 +832,8 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception)
       image=DestroyImageList(image);
       return((Image *) NULL);
     }
-  image->alpha_trait=psd_info.channels >= 4 ? MagickTrue : MagickFalse;
+  image->alpha_trait=psd_info.channels >= 4 ? BlendPixelTrait :
+    UndefinedPixelTrait;
   if (psd_info.mode == LabMode)
     SetImageColorspace(image,LabColorspace,exception);
   psd_info.color_channels=3;
@@ -840,7 +841,8 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception)
     {
       psd_info.color_channels=4;
       SetImageColorspace(image,CMYKColorspace,exception);
-      image->alpha_trait=psd_info.channels >= 5 ? MagickTrue : MagickFalse;
+      image->alpha_trait=psd_info.channels >= 5 ? BlendPixelTrait : 
+        UndefinedPixelTrait;
     }
   if ((psd_info.mode == BitmapMode) || (psd_info.mode == GrayscaleMode) ||
       (psd_info.mode == DuotoneMode))
@@ -848,7 +850,8 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception)
       psd_info.color_channels=1;
       if (AcquireImageColormap(image,256,exception) == MagickFalse)
         ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
-      image->alpha_trait=psd_info.channels >= 2 ? MagickTrue : MagickFalse;
+      image->alpha_trait=psd_info.channels >= 2 ? BlendPixelTrait : 
+        UndefinedPixelTrait;
       if (image->debug != MagickFalse)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
           "  Image colormap allocated");
@@ -989,8 +992,9 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception)
           MagickOffsetType
             layer_offset;
 
-          image->alpha_trait=psd_info.channels > psd_info.color_channels ?  MagickTrue : MagickFalse;
-
+          image->alpha_trait=psd_info.channels > psd_info.color_channels ?
+            BlendPixelTrait : UndefinedPixelTrait;
           if (image->debug != MagickFalse)
             (void) LogMagickEvent(CoderEvent,GetMagickModule(),
               image->alpha_trait ? "  image has matte" : "  image has no matte");
index 1579a0dc1b44ae6c23f09ad7092e7b2fa24d3e1e..823061777ca743271923e3a41fccd1da09deb43b 100644 (file)
@@ -252,7 +252,8 @@ static Image *ReadRLAImage(const ImageInfo *image_info,ExceptionInfo *exception)
   /*
     Initialize image structure.
   */
-  image->alpha_trait=rla_info.number_matte_channels != 0 ? MagickTrue : MagickFalse;
+  image->alpha_trait=rla_info.number_matte_channels != 0 ? BlendPixelTrait : 
+    UndefinedPixelTrait;
   image->columns=1UL*rla_info.active_window.right-rla_info.active_window.left+1;
   image->rows=1UL*rla_info.active_window.top-rla_info.active_window.bottom+1;
   if (image_info->ping != MagickFalse)
index 506447dcb1ad25ce2b237cce4bcf3f42e2be2241..55eef4a7eba2b2ed9bf17d2cd96d8ef3d4fa44b2 100644 (file)
@@ -212,7 +212,7 @@ static Image *ReadRLEImage(const ImageInfo *image_info,ExceptionInfo *exception)
     image->columns=ReadBlobLSBShort(image);
     image->rows=ReadBlobLSBShort(image);
     flags=(MagickStatusType) ReadBlobByte(image);
-    image->alpha_trait=flags & 0x04 ? MagickTrue : MagickFalse;
+    image->alpha_trait=flags & 0x04 ? BlendPixelTrait : UndefinedPixelTrait;
     number_planes=1UL*ReadBlobByte(image);
     bits_per_pixel=1UL*ReadBlobByte(image);
     number_colormaps=1UL*ReadBlobByte(image);
index bfcd7025c296873e5d59fd6b5c11a95439f86aed..d9385de694a565f2cf2479f9490c88d6029757a6 100644 (file)
@@ -530,7 +530,8 @@ static Image *ReadSGIImage(const ImageInfo *image_info,ExceptionInfo *exception)
     /*
       Initialize image structure.
     */
-    image->alpha_trait=iris_info.depth == 4 ? MagickTrue : MagickFalse;
+    image->alpha_trait=iris_info.depth == 4 ? BlendPixelTrait : 
+      UndefinedPixelTrait;
     image->columns=iris_info.columns;
     image->rows=iris_info.rows;
     /*
index e5b220ffb71cb8e2a28ee41987c6269989d9a6fa..c117e2a5fdc718eb36660e1e55edcd89668c0b6d 100644 (file)
@@ -383,7 +383,8 @@ static Image *ReadSUNImage(const ImageInfo *image_info,ExceptionInfo *exception)
       default:
         ThrowReaderException(CoderError,"ColormapTypeNotSupported");
     }
-    image->alpha_trait=sun_info.depth == 32 ? MagickTrue : MagickFalse;
+    image->alpha_trait=sun_info.depth == 32 ? BlendPixelTrait : 
+      UndefinedPixelTrait;
     image->columns=sun_info.width;
     image->rows=sun_info.height;
     if (image_info->ping != MagickFalse)
index b2e7e465e04ceef2fb8a3b4e17f343950ccb37c3..8f16b907224d3386909b32a27f9ad85df783e794 100644 (file)
@@ -228,7 +228,7 @@ static Image *ReadTGAImage(const ImageInfo *image_info,ExceptionInfo *exception)
   image->rows=tga_info.height;
   alpha_bits=(tga_info.attributes & 0x0FU);
   image->alpha_trait=(alpha_bits > 0) || (tga_info.bits_per_pixel == 32) ?
-    MagickTrue : MagickFalse;
+    BlendPixelTrait : UndefinedPixelTrait;
   if ((tga_info.image_type != TGAColormap) &&
       (tga_info.image_type != TGARLEColormap))
     image->depth=(size_t) ((tga_info.bits_per_pixel <= 8) ? 8 :
index 11d8f7eda6bc5c9c274bf1cb5ff2154a7e4e3c6c..6932b2c290ba4692e4a0c5ec76dc3e4be78f9427 100644 (file)
@@ -485,9 +485,10 @@ static Image *ReadVIFFImage(const ImageInfo *image_info,
     /*
       Initialize image structure.
     */
-    image->alpha_trait=viff_info.number_data_bands == 4 ? MagickTrue : MagickFalse;
-    image->storage_class=
-      (viff_info.number_data_bands < 3 ? PseudoClass : DirectClass);
+    image->alpha_trait=viff_info.number_data_bands == 4 ? BlendPixelTrait : 
+      UndefinedPixelTrait;
+    image->storage_class=(viff_info.number_data_bands < 3 ? PseudoClass :
+      DirectClass);
     image->columns=viff_info.rows;
     image->rows=viff_info.columns;
     if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
index 8065c5fbe369dd6c18371ee60b20c4aa0d6bf2ff..cda53053785f65a261598128d7010f4515f23476 100644 (file)
@@ -5,7 +5,7 @@
     <name>ImageMagick</name>
     <shortdesc xml:lang="en">ImageMagick: convert, edit, and compose images.</shortdesc>
     <homepage rdf:resource="http://www.imagemagick.org/"/>
-    <created>2012-08-27</created>
+    <created>2012-08-28</created>
 
     <description xml:lang="en">
 ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
@@ -57,7 +57,7 @@ Examples of ImageMagick Usage shows how to use ImageMagick from the command-line
     <release>
       <Version>
           <name>stable</name>
-          <created>2012-08-27</created>
+          <created>2012-08-28</created>
           <revision>7.0.0</revision>
           <patch-level>-0</patch-level>
       </Version>
index 66c2f6533016c811ed384f2926c419571188f438..010f87d1b8545c1707844eb89150848e7e8a43ba 100644 (file)
@@ -11,7 +11,7 @@
   <configure name="LIB_VERSION" value="0x700"/>
   <configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
   <configure name="SVN_REVISION" value="9117:9136M" />
-  <configure name="RELEASE_DATE" value="2012-08-27"/>
+  <configure name="RELEASE_DATE" value="2012-08-28"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
   <configure name="EXEC-PREFIX" value="/usr/local"/>