18 #ifndef MAGICKWAND_MOGRIFY_PRIVATE_H 19 #define MAGICKWAND_MOGRIFY_PRIVATE_H 21 #if defined(__cplusplus) || defined(c_plusplus) 25 #define AppendImageStack(images) \ 27 (void) SyncImagesSettings(image_info,images); \ 28 AppendImageToList(&image_stack[k].image,images); \ 29 image=image_stack[k].image; \ 31 #define DestroyImageStack() \ 35 image_stack[k].image=DestroyImageList(image_stack[k].image); \ 36 image_stack[k].image_info=DestroyImageInfo(image_stack[k].image_info); \ 37 image_info=image_stack[MaxImageStackDepth].image_info; \ 39 #define FinalizeImageSettings(image_info,image,advance) \ 41 FireImageStack(MagickTrue,advance,MagickTrue); \ 42 if (image != (Image *) NULL) \ 44 InheritException(exception,&(image)->exception); \ 45 (void) SyncImagesSettings(image_info,image); \ 48 #define FireImageStack(postfix,advance,fire) \ 49 if ((j <= i) && (i < (ssize_t) argc)) \ 51 DisableMSCWarning(4127) \ 52 if (image_stack[k].image == (Image *) NULL) \ 53 status&=MogrifyImageInfo(image_stack[k].image_info,(int) (i-j+1), \ 54 (const char **) (argv+j),exception); \ 56 if ((fire) != MagickFalse) \ 58 status&=MogrifyImages(image_stack[k].image_info,postfix,(int) \ 59 (i-j+1),(const char **) (argv+j),&image_stack[k].image, \ 61 image=image_stack[k].image; \ 62 if ((advance) != MagickFalse) \ 68 #define MaxImageStackDepth 128 69 #define NewImageStack() \ 71 image_stack[MaxImageStackDepth].image_info=image_info; \ 72 image_stack[0].image_info=CloneImageInfo(image_info); \ 73 image_stack[0].image=NewImageList(); \ 74 image_info=image_stack[0].image_info; \ 75 image=image_stack[0].image; \ 77 #define PushImageStack() \ 80 image_stack[k].image_info=CloneImageInfo(image_stack[k-1].image_info); \ 81 image_stack[k].image=NewImageList(); \ 82 image_info=image_stack[k].image_info; \ 83 image=image_stack[k].image; \ 85 #define PopImageStack() \ 87 if (respect_parenthesis == MagickFalse) \ 89 image_stack[k-1].image_info=DestroyImageInfo(image_stack[k-1].image_info); \ 90 image_stack[k-1].image_info=CloneImageInfo(image_stack[k].image_info); \ 92 image_stack[k].image_info=DestroyImageInfo(image_stack[k].image_info); \ 93 AppendImageToList(&image_stack[k-1].image,image_stack[k].image); \ 95 image_info=image_stack[k].image_info; \ 96 image=image_stack[k].image; \ 98 #define QuantumTick(i,span) ((MagickBooleanType) ((((i) & ((i)-1)) == 0) || \ 99 (((i) & 0xfff) == 0) || \ 100 ((MagickOffsetType) (i) == ((MagickOffsetType) (span)-1)))) 101 #define RemoveImageStack(images) \ 103 images=RemoveFirstImageFromList(&image_stack[k].image); \ 104 image=image_stack[k].image; \ 106 #define RemoveAllImageStack() \ 108 if (image_stack[k].image != (Image *) NULL) \ 109 image_stack[k].image=DestroyImageList(image_stack[k].image); \ 111 #define SetImageStack(image) \ 113 image_stack[k].image=(image); \ 125 #if defined(__cplusplus) || defined(c_plusplus) ImageInfo * image_info
Definition: mogrify-private.h:119
struct _ImageStack ImageStack
Image * image
Definition: mogrify-private.h:122
Definition: mogrify-private.h:116