]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 28 Aug 2012 00:19:44 +0000 (00:19 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 28 Aug 2012 00:19:44 +0000 (00:19 +0000)
15 files changed:
MagickCore/image.c
MagickCore/image.h
MagickCore/option.c
MagickCore/option.h
MagickWand/animate.c
MagickWand/compare.c
MagickWand/composite.c
MagickWand/convert.c
MagickWand/display.c
MagickWand/identify.c
MagickWand/mogrify.c
MagickWand/montage.c
MagickWand/operation.c
PerlMagick/Magick.xs
coders/msl.c

index 41f7fb322345d4b166ff603f52936a8640fdb545..c3163b1b6d16c4d8330bf361bf3919bcbc3cb34b 100644 (file)
@@ -2101,26 +2101,26 @@ static inline void FlattenPixelInfo(const Image *image,const PixelInfo *p,
     {
       case RedPixelChannel:
       {
-        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],
-          beta,(double) p->red,alpha));
+        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],beta,
+          (double) p->red,alpha));
         break;
       }
       case GreenPixelChannel:
       {
-        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],
-          beta,(double) p->green,alpha));
+        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],beta,
+          (double) p->green,alpha));
         break;
       }
       case BluePixelChannel:
       {
-        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],
-          beta,(double) p->blue,alpha));
+        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],beta,
+          (double) p->blue,alpha));
         break;
       }
       case BlackPixelChannel:
       {
-        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],
-          beta,(double) p->black,alpha));
+        composite[i]=ClampToQuantum(gamma*MagickOver_((double) q[i],beta,
+          (double) p->black,alpha));
         break;
       }
       case AlphaPixelChannel:
index 107599553da55ece57c314014c9634ebdcc08201..058645fe78ab04322e2e1f1a6dd0ebcde182fff8 100644 (file)
@@ -24,8 +24,8 @@ extern "C" {
 
 #include <MagickCore/color.h>
 
-#define OpaqueAlpha  (QuantumRange)
-#define TransparentAlpha  ((Quantum) 0UL)
+#define OpaqueAlpha  ((Quantum) QuantumRange)
+#define TransparentAlpha  ((Quantum) 0)
 
 typedef enum
 {
@@ -42,6 +42,13 @@ typedef enum
   TransparentAlphaChannel
 } AlphaChannelType;
 
+typedef enum
+{
+  UndefinedAlpha,
+  InactiveAlpha,
+  ActiveAlpha
+} AlphaChannelState;
+
 typedef enum
 {
   UndefinedType,
@@ -273,6 +280,9 @@ struct _Image
   MagickBooleanType
     mask;
 
+  AlphaChannelState
+    alpha;
+
   size_t
     number_channels,
     number_meta_channels,
index 077f7a175f53ee1bb39aa4b835b122b09f0581f1..449ed005c126512f8323e61b7bfcb53af2c7471e 100644 (file)
@@ -90,7 +90,7 @@ static const OptionInfo
     { "Start", LeftAlign, UndefinedOptionFlag, MagickFalse },
     { (char *) NULL, UndefinedAlign, UndefinedOptionFlag, MagickFalse }
   },
-  AlphaOptions[] =
+  AlphaChannelOptions[] =
   {
     { "Undefined", UndefinedAlphaChannel, UndefinedOptionFlag, MagickTrue },
     { "Activate", ActivateAlphaChannel, UndefinedOptionFlag, MagickFalse },
@@ -108,6 +108,13 @@ static const OptionInfo
     { "Transparent", TransparentAlphaChannel, UndefinedOptionFlag, MagickFalse },
     { (char *) NULL, UndefinedAlphaChannel, UndefinedOptionFlag, MagickFalse }
   },
+  AlphaStateOptions[] =
+  {
+    { "Undefined", UndefinedAlpha, UndefinedOptionFlag, MagickTrue },
+    { "Active", ActiveAlpha, UndefinedOptionFlag, MagickFalse },
+    { "Inactive", InactiveAlpha, UndefinedOptionFlag, MagickFalse },
+    { (char *) NULL, MagickFalse, UndefinedOptionFlag, MagickFalse }
+  },
   BooleanOptions[] =
   {
     { "False", MagickFalse, UndefinedOptionFlag, MagickFalse },
@@ -1193,7 +1200,7 @@ static const OptionInfo
   ListOptions[] =
   {
     { "Align", MagickAlignOptions, UndefinedOptionFlag, MagickFalse },
-    { "Alpha", MagickAlphaOptions, UndefinedOptionFlag, MagickFalse },
+    { "Alpha", MagickAlphaChannelOptions, UndefinedOptionFlag, MagickFalse },
     { "Boolean", MagickBooleanOptions, UndefinedOptionFlag, MagickFalse },
     { "Channel", MagickChannelOptions, UndefinedOptionFlag, MagickFalse },
     { "Class", MagickClassOptions, UndefinedOptionFlag, MagickFalse },
@@ -1642,7 +1649,8 @@ static const OptionInfo *GetOptionInfo(const CommandOption option)
   switch (option)
   {
     case MagickAlignOptions: return(AlignOptions);
-    case MagickAlphaOptions: return(AlphaOptions);
+    case MagickAlphaChannelOptions: return(AlphaChannelOptions);
+    case MagickAlphaStateOptions: return(AlphaStateOptions);
     case MagickBooleanOptions: return(BooleanOptions);
     case MagickChannelOptions: return(ChannelOptions);
     case MagickClassOptions: return(ClassOptions);
index aa75044f9296aec5eb911ade9ec0828eb01251c9..3b1a872749f2ab8f12486eb94c509bfdf2faeba9 100644 (file)
@@ -26,7 +26,8 @@ typedef enum
 {
   MagickUndefinedOptions = -1,
   MagickAlignOptions = 0,
-  MagickAlphaOptions,
+  MagickAlphaChannelOptions,
+  MagickAlphaStateOptions,
   MagickBooleanOptions,
   MagickChannelOptions,
   MagickClassOptions,
index 2912fa2f160d2b4d32fd5f8e68f125b4a3048070..a8f1a5c501fad7f90df6009a273523e1d8780cdd 100644 (file)
@@ -479,7 +479,7 @@ WandExport MagickBooleanType AnimateImageCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowAnimateException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowAnimateException(OptionError,"UnrecognizedAlphaChannelType",
                 argv[i]);
index b61b3949c2184e3775e6036ab1db4641153bc73d..f2988cd2a5d81eb8fb40afd5a76d33abfdf1e00c 100644 (file)
@@ -348,7 +348,7 @@ WandExport MagickBooleanType CompareImagesCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowCompareException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowCompareException(OptionError,"UnrecognizedAlphaChannelType",
                 argv[i]);
index 830b4b0b377e9f8e603faeb87d63a8371e0452f8..08429caf660bd4ae8288c2ad3a5bdecafc44b2de 100644 (file)
@@ -554,7 +554,7 @@ WandExport MagickBooleanType CompositeImageCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowCompositeException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowCompositeException(OptionError,
                 "UnrecognizedAlphaChannelType",argv[i]);
index b36f0cd06f335f796513599dfbcafe661bf7618a..30eec2b1d4b79ec93d48d19a19397659d7b56793 100644 (file)
@@ -666,7 +666,7 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowConvertException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowConvertException(OptionError,"UnrecognizedAlphaChannelType",
                 argv[i]);
index 629001deba85d47ceefb737d5308d51d396818cf..1d157d8e331573554f5ea6c3e3c9ff5c7a70fa18 100644 (file)
@@ -692,7 +692,7 @@ WandExport MagickBooleanType DisplayImageCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowDisplayException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowDisplayException(OptionError,"UnrecognizedAlphaChannelType",
                 argv[i]);
index 95f5c4d121f33a7debd6fd1a1416fcd64c78b43e..8289fe3fa495d01bc5ba025a3ae623666c29a7da 100644 (file)
@@ -367,7 +367,7 @@ WandExport MagickBooleanType IdentifyImageCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowIdentifyException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowIdentifyException(OptionError,"UnrecognizedAlphaChannelType",
                 argv[i]);
index 376529c92ef381f98138beff7b54112883a9202e..df249223bdfde1b30446bcb808bcb61bf26aa75d 100644 (file)
@@ -796,7 +796,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
               alpha_type;
 
             (void) SyncImageSettings(mogrify_info,*image,exception);
-            alpha_type=(AlphaChannelType) ParseCommandOption(MagickAlphaOptions,
+            alpha_type=(AlphaChannelType) ParseCommandOption(MagickAlphaChannelOptions,
               MagickFalse,argv[i+1]);
             (void) SetImageAlphaChannel(*image,alpha_type,exception);
             break;
@@ -3824,7 +3824,7 @@ WandExport MagickBooleanType MogrifyImageCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowMogrifyException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowMogrifyException(OptionError,"UnrecognizedAlphaChannelType",
                 argv[i]);
index 8a321455588c12c4b4c5c70919a40cd82828dd74..d21dcb61da998807839aa7d9adfc2e6513369971 100644 (file)
@@ -470,7 +470,7 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
             i++;
             if (i == (ssize_t) argc)
               ThrowMontageException(OptionError,"MissingArgument",option);
-            type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
+            type=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,argv[i]);
             if (type < 0)
               ThrowMontageException(OptionError,"UnrecognizedAlphaChannelType",
                 argv[i]);
index 6f6d37897dadd48d1eddd64b7c8bf88530224df4..8558b9975e8d6503b96d415d603f555d3c1521f3 100644 (file)
@@ -1754,7 +1754,7 @@ static void CLISimpleOperatorImage(MagickCLI *cli_wand,
         }
       if (LocaleCompare("alpha",option+1) == 0)
         {
-          parse=ParseCommandOption(MagickAlphaOptions,MagickFalse,arg1);
+          parse=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,arg1);
           if (parse < 0)
             CLIWandExceptArgBreak(OptionError,"UnrecognizedAlphaChannelType",
                  option,arg1);
index 9870720c4e6eaa7311592798224e282b9f07e151..a685424287734e58cc1e59d84199b6e76286885b 100644 (file)
@@ -1103,7 +1103,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
         }
       if (LocaleCompare(attribute,"alpha") == 0)
         {
-          sp=SvPOK(sval) ? ParseCommandOption(MagickAlphaOptions,MagickFalse,
+          sp=SvPOK(sval) ? ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,
             SvPV(sval,na)) : SvIV(sval);
           if (sp < 0)
             {
index 82c7c9bf67ec04e45bdaa2569b280cef54d17611..19440588009ab6c337bb4352a13467fc88e92a33 100644 (file)
@@ -7949,7 +7949,7 @@ static MagickBooleanType SetMSLAttributes(MSLInfo *msl_info,const char *keyword,
           ssize_t
             alpha;
 
-          alpha=ParseCommandOption(MagickAlphaOptions,MagickFalse,value);
+          alpha=ParseCommandOption(MagickAlphaChannelOptions,MagickFalse,value);
           if (alpha < 0)
             ThrowMSLException(OptionError,"UnrecognizedType",value);
           if (image != (Image *) NULL)