]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Fri, 21 May 2010 13:14:10 +0000 (13:14 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Fri, 21 May 2010 13:14:10 +0000 (13:14 +0000)
ChangeLog
coders/psd.c
wand/montage.c

index e6d43d94f1b64cd60a78bae7ac02054a0fb7be33..2bcbe6621d7463fb19280037fc36ff93759eb6ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,8 @@
 2010-05-17  6.6.2-0 Cristy  <quetzlzacatenango@image...>
   * PSD images require a proper layer to support an alpha channel.
   * Enable PFM endian support.
+  * Add context to -border for montage.  Inside the parenthesis it adds a border
+    to the image otherwise it sets the border for the layout manager.
 
 2010-05-15  6.6.1-10 Cristy  <quetzlzacatenango@image...>
   * Use ScaleCharToQuantum() in coders/src.c (reference
index 8200e50c59173e57acc7dac0613c2c8cdbb88249..48e0e60d25471113e6630c72e3df8e9e9a5a5bfd 100644 (file)
@@ -2203,36 +2203,32 @@ static MagickBooleanType WritePSDImage(const ImageInfo *image_info,Image *image)
           (tmp_image->storage_class == PseudoClass)) {
        (void) WriteBlobMSBShort(image,(unsigned short)
          (tmp_image->matte != MagickFalse ? 2 : 1));
+       (void) WriteBlobMSBShort(image, 0);
+       (void) SetPSDSize(&psd_info,image,channel_size);
        if (tmp_image->matte != MagickFalse) {
-         (void) WriteBlobMSBShort(image,(unsigned short) -1);
+         (void) WriteBlobMSBShort(image,(unsigned short) 1);
          (void) SetPSDSize(&psd_info,image,channel_size);
        }
-       (void) WriteBlobMSBShort(image, 0);
-       (void) SetPSDSize(&psd_info,image,channel_size);
       } else
       if (tmp_image->colorspace != CMYKColorspace)
       {
         (void) WriteBlobMSBShort(image,(unsigned short)
           (tmp_image->matte != MagickFalse ? 4 : 3));
-       if (tmp_image->matte!= MagickFalse ) {
-         (void) WriteBlobMSBShort(image,(unsigned short) -1);
-         (void) SetPSDSize(&psd_info,image,channel_size);
-       }
        (void) WriteBlobMSBShort(image, 0);
        (void) SetPSDSize(&psd_info,image,channel_size);
        (void) WriteBlobMSBShort(image, 1);
        (void) SetPSDSize(&psd_info,image,channel_size);
        (void) WriteBlobMSBShort(image, 2);
        (void) SetPSDSize(&psd_info,image,channel_size);
+       if (tmp_image->matte!= MagickFalse ) {
+         (void) WriteBlobMSBShort(image,(unsigned short) 3);
+         (void) SetPSDSize(&psd_info,image,channel_size);
+       }
       }
       else
       {
         (void) WriteBlobMSBShort(image,(unsigned short)
           (tmp_image->matte ? 5 : 4));
-       if (tmp_image->matte) {
-         (void) WriteBlobMSBShort(image,(unsigned short) -1);
-         (void) SetPSDSize(&psd_info,image,channel_size);
-       }
        (void) WriteBlobMSBShort(image, 0);
        (void) SetPSDSize(&psd_info,image,channel_size);
        (void) WriteBlobMSBShort(image, 1);
@@ -2241,6 +2237,10 @@ static MagickBooleanType WritePSDImage(const ImageInfo *image_info,Image *image)
        (void) SetPSDSize(&psd_info,image,channel_size);
        (void) WriteBlobMSBShort(image, 3);
        (void) SetPSDSize(&psd_info,image,channel_size);
+       if (tmp_image->matte) {
+         (void) WriteBlobMSBShort(image,(unsigned short) 4);
+         (void) SetPSDSize(&psd_info,image,channel_size);
+       }
       }
 
       (void) WriteBlob(image,4,(const unsigned char *) "8BIM");
index e662999a357ec9c5a5f50623a449422fda465287..72f7efd5882c2b81a0733465608a278dcc9384f8 100644 (file)
@@ -527,8 +527,11 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
           }
         if (LocaleCompare("border",option+1) == 0)
           {
-            (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
-            montage_info->border_width=0;
+            if (k == 0)
+              {
+                (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
+                montage_info->border_width=0;
+              }
             if (*option == '+')
               break;
             i++;
@@ -536,7 +539,8 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
               ThrowMontageException(OptionError,"MissingArgument",option);
             if (IsGeometry(argv[i]) == MagickFalse)
               ThrowMontageInvalidArgumentException(option,argv[i]);
-            montage_info->border_width=StringToUnsignedLong(argv[i]);
+            if (k == 0)
+              montage_info->border_width=StringToUnsignedLong(argv[i]);
             break;
           }
         if (LocaleCompare("bordercolor",option+1) == 0)
@@ -939,8 +943,11 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
           }
         if (LocaleCompare("frame",option+1) == 0)
           {
-            (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
-            (void) CloneString(&montage_info->frame,(char *) NULL);
+            if (k == 0)
+              {
+                (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
+                (void) CloneString(&montage_info->frame,(char *) NULL);
+              }
             if (*option == '+')
               break;
             i++;
@@ -948,7 +955,8 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
               ThrowMontageException(OptionError,"MissingArgument",option);
             if (IsGeometry(argv[i]) == MagickFalse)
               ThrowMontageInvalidArgumentException(option,argv[i]);
-            (void) CloneString(&montage_info->frame,argv[i]);
+            if (k == 0)
+              (void) CloneString(&montage_info->frame,argv[i]);
             break;
           }
         ThrowMontageException(OptionError,"UnrecognizedOption",option)
@@ -1400,8 +1408,20 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
           }
         if (LocaleCompare("shadow",option+1) == 0)
           {
-            (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
-            montage_info->shadow=(*option == '-') ? MagickTrue : MagickFalse;
+            if (k == 0)
+              {
+                (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
+                montage_info->shadow=(*option == '-') ? MagickTrue :
+                  MagickFalse;
+                break;
+              }
+            if (*option == '+')
+              break;
+            i++;
+            if (i == (long) (argc-1))
+              ThrowMontageException(OptionError,"MissingArgument",option);
+            if (IsGeometry(argv[i]) == MagickFalse)
+              ThrowMontageInvalidArgumentException(option,argv[i]);
             break;
           }
         if (LocaleCompare("sharpen",option+1) == 0)
@@ -1482,8 +1502,11 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
           }
         if (LocaleCompare("tile",option+1) == 0)
           {
-            (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
-            (void) CloneString(&montage_info->tile,(char *) NULL);
+            if (k == 0)
+              {
+                (void) CopyMagickString(argv[i]+1,"sans",MaxTextExtent);
+                (void) CloneString(&montage_info->tile,(char *) NULL);
+              }
             if (*option == '+')
               break;
             i++;
@@ -1491,7 +1514,8 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
               ThrowMontageException(OptionError,"MissingArgument",option);
             if (IsGeometry(argv[i]) == MagickFalse)
               ThrowMontageInvalidArgumentException(option,argv[i]);
-            (void) CloneString(&montage_info->tile,argv[i]);
+            if (k == 0)
+              (void) CloneString(&montage_info->tile,argv[i]);
             break;
           }
         if (LocaleCompare("tile-offset",option+1) == 0)