Commit 66ade989d for imagemagick.org

commit 66ade989da1501ed51a64289eb29a88b8b1c89b6
Author: Cristy <urban-warrior@imagemagick.org>
Date:   Wed Oct 14 07:54:32 2026 -0400

    support shuffle type

diff --git a/MagickCore/list.c b/MagickCore/list.c
index 5e82bbec2..3491de5ec 100644
--- a/MagickCore/list.c
+++ b/MagickCore/list.c
@@ -1342,16 +1342,20 @@ MagickExport void ReverseImageList(Image **images)
 %
 %  The format of the ShuffleImages method is:
 %
-%      Image *ShuffleImages(Image **images,ExceptionInfo *exception)
+%      Image *ShuffleImages(Image **images,const ShuffleType shuffle_type,
+%        ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
 %    o images: the image list.
 %
+%    o shuffle_type: the shuffle type (Ascending, descending, random).
+%
 %    o exception: return any errors or warnings in this structure.
 %
 */
-MagickExport Image *ShuffleImages(Image **images,ExceptionInfo *exception)
+MagickExport Image *ShuffleImages(Image **images,const ShuffleType shuffle_type,
+  ExceptionInfo *exception)
 {
   Image
     **image_array;
@@ -1368,6 +1372,7 @@ MagickExport Image *ShuffleImages(Image **images,ExceptionInfo *exception)
   /*
     Ensure the image list is valid.
   */
+  (void) shuffle_type;
   assert(images != (Image **) NULL);
   if (*images == (Image *) NULL)
     return((Image *) NULL);
diff --git a/MagickCore/list.h b/MagickCore/list.h
index 0e533fca5..8133f0b2e 100644
--- a/MagickCore/list.h
+++ b/MagickCore/list.h
@@ -22,6 +22,14 @@
 extern "C" {
 #endif

+typedef enum
+{
+  UndefinedShuffle,
+  RandomShuffle,
+  AscendingShuffle,
+  DescendingShuffle
+} ShuffleType;
+
 extern MagickExport Image
   *CloneImageList(const Image *,ExceptionInfo *),
   *CloneImages(const Image *,const char *,ExceptionInfo *),
@@ -37,7 +45,7 @@ extern MagickExport Image
   *RemoveImageFromList(Image **),
   *RemoveLastImageFromList(Image **),
   *RemoveFirstImageFromList(Image **),
-  *ShuffleImages(Image **,ExceptionInfo *),
+  *ShuffleImages(Image **,const ShuffleType,ExceptionInfo *),
   *SpliceImageIntoList(Image **,const size_t,const Image *),
   *SplitImageList(Image *),
   *SyncNextImageInList(const Image *);