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 *);