86 assert(images != (
Image **) NULL);
87 if (append == (
Image *) NULL)
92 if ((*images) == (
Image *) NULL)
94 *images=(
Image *) append;
137 if (images == (
Image *) NULL)
138 return((
Image *) NULL);
145 image=(
Image *) NULL;
146 for (p=(
Image *) NULL; images != (
Image *) NULL; images=images->
next)
148 assert(images != images->
next);
150 if (clone == (
Image *) NULL)
152 if (image != (
Image *) NULL)
154 return((
Image *) NULL);
156 if (image == (
Image *) NULL)
233 assert(images != (
const Image *) NULL);
235 assert(scenes != (
char *) NULL);
244 for (p=(
char *) scenes; *p !=
'\0';)
249 while ((isspace((
int) ((
unsigned char) *p)) != 0) || (*p ==
','))
251 first=(ssize_t) strtol(p,&p,10);
253 first+=(ssize_t) length;
255 if (first > (ssize_t) length)
256 first=(ssize_t) length;
258 while (isspace((
int) ((
unsigned char) *p)) != 0)
262 last=(ssize_t) strtol(p+1,&p,10);
264 last+=(ssize_t) length;
266 if (last > (ssize_t) length)
267 last=(ssize_t) length;
271 if (artifact != (
const char *) NULL)
277 step=(ssize_t) (first > last ? -step : step);
278 for ( ; step > 0 ? (last-first) >= 0 : (last-first) <= 0; first+=step)
283 if (i == (ssize_t) first)
286 if (image == (
Image *) NULL)
295 "InvalidImageIndex",
"`%s'",images->
filename);
330 if (image != (
Image *) NULL)
392 assert(images != (
Image **) NULL);
394 assert(scenes != (
char *) NULL);
397 (*images)->filename);
403 sizeof(*delete_list));
411 for (i=0; i < (ssize_t) length; i++)
416 for (p=(
char *) scenes; *p !=
'\0';)
418 while ((isspace((
int) ((
unsigned char) *p)) != 0) || (*p ==
','))
420 first=strtol(p,&p,10);
422 first+=(long) length;
424 while (isspace((
int) ((
unsigned char) *p)) != 0)
428 last=strtol(p+1,&p,10);
434 for (i=(ssize_t) first; i <= (ssize_t) last; i++)
435 if ((i >= 0) && (i < (ssize_t) length))
442 for (i=0; i < (ssize_t) length; i++)
477 if (images == (
Image *) NULL)
478 return((
Image *) NULL);
482 while (images != (
Image *) NULL)
484 return((
Image *) NULL);
524 const size_t number_duplicates,
const char *scenes,
ExceptionInfo *exception)
536 assert(images != (
Image *) NULL);
538 assert(scenes != (
char *) NULL);
544 for (i=0; i < (ssize_t) number_duplicates; i++)
549 return(duplicate_images);
579 if (images == (
Image *) NULL)
580 return((
Image *) NULL);
626 if (images == (
Image *) NULL)
627 return((
Image *) NULL);
641 for (i=0; p != (
Image *) NULL; p=p->
next)
675 if (images == (
const Image *) NULL)
714 if (images == (
Image *) NULL)
755 if (images == (
Image *) NULL)
756 return((
Image *) NULL);
786 if (images == (
Image *) NULL)
787 return((
Image *) NULL);
791 return(images->
next);
818 if (images == (
Image *) NULL)
819 return((
Image *) NULL);
866 if (images == (
Image *) NULL)
867 return((
Image **) NULL);
873 if (group == (
Image **) NULL)
877 return((
Image **) NULL);
880 for (i=0; images != (
Image *) NULL; images=images->
next)
882 assert(images != images->
next);
883 group[i++]=(
Image *) images;
885 group[i]=(
Image *) NULL;
920 assert(images != (
Image **) NULL);
921 assert(insert != (
Image *) NULL);
925 if ((*images) == (
Image *) NULL)
953 return((
Image *) NULL);
982 if (*images == (
Image *) NULL)
1021 assert(images != (
Image **) NULL);
1022 if ((*images) == (
Image *) NULL)
1023 return((
Image *) NULL);
1027 (*images)->filename);
1030 *images=(
Image *) NULL;
1080 assert(images != (
Image **) NULL);
1081 if ((*images) == (
Image *) NULL)
1082 return((
Image *) NULL);
1086 (*images)->filename);
1090 if (image == *images)
1091 *images=(*images)->
next;
1131 assert(images != (
Image **) NULL);
1132 if ((*images) == (
Image *) NULL)
1133 return((
Image *) NULL);
1137 (*images)->filename);
1141 if (image == *images)
1181 assert(images != (
Image **) NULL);
1182 assert(replace != (
Image *) NULL);
1186 if ((*images) == (
Image *) NULL)
1242 assert(images != (
Image **) NULL);
1243 assert(replace != (
Image *) NULL);
1247 if ((*images) == (
Image *) NULL)
1302 assert(images != (
Image **) NULL);
1303 if ((*images) == (
Image *) NULL)
1308 (*images)->filename);
1348 const size_t length,
const Image *splice)
1357 assert(images != (
Image **) NULL);
1358 assert(splice != (
Image *) NULL);
1360 if ((*images) == (
Image *) NULL)
1361 return((
Image *) NULL);
1365 (*images)->filename);
1368 image=(
Image *) NULL;
1369 for (i=0; (i < length) && (split != (
Image *) NULL); i++)
1400 if ((images == (
Image *) NULL) || (images->
next == (
Image *) NULL))
1401 return((
Image *) NULL);
1402 images=images->
next;
1436 if (images == (
Image *) NULL)
1439 for (p=images; p != (
Image *) NULL; p=p->
next)
1444 if (q != (
Image *) NULL)
1447 if (p == (
Image *) NULL)
1478 if (images == (
Image *) NULL)
1479 return((
Image *) NULL);
1482 return((
Image *) NULL);
1492 return(images->
next);
MagickExport Image * CloneImages(const Image *images, const char *scenes, ExceptionInfo *exception)
MagickExport Image * GetImageFromList(const Image *images, const ssize_t index)
MagickExport Image * RemoveFirstImageFromList(Image **images)
MagickExport void InsertImageInList(Image **images, Image *insert)
MagickExport const char * GetImageArtifact(const Image *image, const char *artifact)
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
MagickExport void DeleteImages(Image **images, const char *scenes, ExceptionInfo *exception)
MagickExport Image * SpliceImageIntoList(Image **images, const size_t length, const Image *splice)
CompressionType compression
MagickExport Image * DuplicateImages(Image *images, const size_t number_duplicates, const char *scenes, ExceptionInfo *exception)
MagickExport Image * GetPreviousImageInList(const Image *images)
#define MagickCoreSignature
MagickExport Image * GetFirstImageInList(const Image *images)
MagickExport Image * RemoveImageFromList(Image **images)
MagickExport Image * NewImageList(void)
MagickExport void ReplaceImageInListReturnLast(Image **images, Image *replace)
MagickExport Image * SplitImageList(Image *images)
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
MagickExport Image * SyncNextImageInList(const Image *images)
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
MagickExport Image * GetLastImageInList(const Image *images)
MagickExport Image * DestroyImageList(Image *images)
MagickExport Image * RemoveLastImageFromList(Image **images)
char filename[MagickPathExtent]
#define GetMagickModule()
MagickExport Image * CloneImageList(const Image *images, ExceptionInfo *exception)
MagickExport Image ** ImageListToArray(const Image *images, ExceptionInfo *exception)
MagickExport void ReplaceImageInList(Image **images, Image *replace)
MagickExport ssize_t GetImageIndexInList(const Image *images)
MagickExport Image * GetNextImageInList(const Image *images)
MagickExport void AppendImageToList(Image **images, const Image *append)
MagickExport void SyncImageList(Image *images)
MagickExport void * RelinquishMagickMemory(void *memory)
MagickExport BlobInfo * ReferenceBlob(BlobInfo *)
MagickExport void PrependImageToList(Image **images, Image *prepend)
MagickExport void DestroyBlob(Image *image)
MagickExport void DeleteImageFromList(Image **images)
MagickExport size_t GetImageListLength(const Image *images)
MagickExport void ReverseImageList(Image **images)
MagickExport Image * DestroyImage(Image *image)
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)