]> granicus.if.org Git - imagemagick/blobdiff - MagickWand/display.c
(no commit message)
[imagemagick] / MagickWand / display.c
index 122317b0266e1bfb2158927c623452a058701999..554c1f32c5b6f9ec69291723a2d54f1e1420171e 100644 (file)
 %              Methods to Interactively Display and Edit an Image             %
 %                                                                             %
 %                             Software Design                                 %
-%                               John Cristy                                   %
+%                                  Cristy                                     %
 %                                July 1992                                    %
 %                                                                             %
 %                                                                             %
-%  Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization      %
+%  Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization      %
 %  dedicated to making software imaging solutions freely available.           %
 %                                                                             %
 %  You may not use this file except in compliance with the License.  You may  %
@@ -109,8 +109,6 @@ static MagickBooleanType DisplayUsage(void)
     *miscellaneous[]=
     {
       "-debug events        display copious debugging information",
-      "-distributed-cache port",
-      "                     distributed pixel cache spanning one or more servers",
       "-help                print program options",
       "-list type           print a list of supported option arguments",
       "-log format          format of debugging information",
@@ -189,6 +187,7 @@ static MagickBooleanType DisplayUsage(void)
       "-limit type value    pixel cache resource limit",
       "-loop iterations     loop images then exit",
       "-map type            display image using this Standard Colormap",
+      "-matte               store matte channel if the image has one",
       "-monitor             monitor progress",
       "-page geometry       size and location of an image canvas",
       "-profile filename    add, delete, or apply an image profile",
@@ -201,9 +200,11 @@ static MagickBooleanType DisplayUsage(void)
       "-respect-parentheses settings remain in effect until parenthesis boundary",
       "-sampling-factor geometry",
       "                     horizontal and vertical sampling factor",
+      "-scenes range        image scene range",
       "-seed value          seed a new sequence of pseudo-random numbers",
       "-set property value  set an image property",
       "-size geometry       width and height of image",
+      "-support factor      resize support: > 1.0 is blurry, < 1.0 is sharp",
       "-texture filename    name of texture to tile onto the image background",
       "-transparent-color color",
       "                     transparent color",
@@ -548,6 +549,8 @@ WandExport MagickBooleanType DisplayImageCommand(ImageInfo *image_info,
                   state|=RetainColorsState;
                   status=MagickFalse;
                 }
+              if (GetNextImageInList(display_image) == (Image *) NULL)
+                state|=ExitState;
             }
           else
             do
@@ -610,24 +613,23 @@ WandExport MagickBooleanType DisplayImageCommand(ImageInfo *image_info,
           if ((state & FormerImageState) != 0)
             for (l=0; l < (ssize_t) resource_info.quantum; l++)
             {
-              display_image=GetPreviousImageInList(display_image);
-              if (display_image == (Image *) NULL)
+              if (GetPreviousImageInList(display_image) == (Image *) NULL)
                 break;
+              display_image=GetPreviousImageInList(display_image);
             }
           else
             for (l=0; l < (ssize_t) resource_info.quantum; l++)
             {
-              display_image=GetNextImageInList(display_image);
-              if (display_image == (Image *) NULL)
+              if (GetNextImageInList(display_image) == (Image *) NULL)
                 break;
+              display_image=GetNextImageInList(display_image);
             }
+          if (l < (ssize_t) resource_info.quantum)
+            break;
         } while ((display_image != (Image *) NULL) && ((state & ExitState) == 0));
         /*
           Free image resources.
         */
-        display_image=GetFirstImageInList(display_image);
-        if (image_list != display_image)
-          image_list=DestroyImageList(image_list);
         display_image=DestroyImageList(display_image);
         if ((state & FormerImageState) == 0)
           {