]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 26 Apr 2011 14:44:36 +0000 (14:44 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 26 Apr 2011 14:44:36 +0000 (14:44 +0000)
magick/draw.c
magick/magick-type.h

index 3e21cc91e81c3c71cc12d104f6c3e1b81ee45338..e6746472771007da82ba3dbb05a4674788a7a831 100644 (file)
@@ -4474,8 +4474,11 @@ MagickExport MagickBooleanType DrawPrimitive(Image *image,
       affine.tx=(double) geometry.x;
       affine.ty=(double) geometry.y;
       composite_image->interpolate=image->interpolate;
-      (void) CompositeImage(image,draw_info->compose,composite_image,geometry.x,
-        geometry.y);
+      if (draw_info->compose == OverCompositeOp)
+        (void) DrawAffineImage(image,composite_image,&affine);
+      else
+        (void) CompositeImage(image,draw_info->compose,composite_image,
+          geometry.x,geometry.y);
       composite_image=DestroyImage(composite_image);
       break;
     }
index f1bb041a3aa46320b5a37e668bd982d982c7400c..8d0ed69b99362d4694da4ee42f3be38ef1b7599c 100644 (file)
@@ -145,16 +145,18 @@ typedef enum
   YellowChannel = 0x0004,
   AlphaChannel = 0x0008,
   OpacityChannel = 0x0008,
-  MatteChannel = 0x0008,  /* deprecated */
+  MatteChannel = 0x0008,     /* deprecated */
   BlackChannel = 0x0020,
   IndexChannel = 0x0020,
-  AllChannels = 0x002F,
-  /* special channel types */
+  AllChannels = ~0UL,
+  /*
+    Special purpose channel types.
+  */
   TrueAlphaChannel = 0x0040, /* extract actual alpha channel from opacity */
   RGBChannels = 0x0080,      /* set alpha from  grayscale mask in RGB */
   GrayChannels = 0x0080,
   SyncChannels = 0x0100,     /* channels should be modified equally */
-  DefaultChannels = ( (AllChannels | SyncChannels) &~ OpacityChannel)
+  DefaultChannels = ((AllChannels | SyncChannels) &~ OpacityChannel)
 } ChannelType;
 
 typedef enum