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,exception); \ 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) \ 43 (void) SyncImagesSettings(image_info,image,exception); \ 45 #define FireImageStack(postfix,advance,fire) \ 46 if ((j <= i) && (i < (ssize_t) argc)) \ 48 DisableMSCWarning(4127) \ 49 if (image_stack[k].image == (Image *) NULL) \ 50 status&=MogrifyImageInfo(image_stack[k].image_info,(int) (i-j+1), \ 51 (const char **) (argv+j),exception); \ 53 if ((fire) != MagickFalse) \ 55 status&=MogrifyImages(image_stack[k].image_info,postfix,(int) \ 56 (i-j+1),(const char **) (argv+j),&image_stack[k].image, \ 58 image=image_stack[k].image; \ 59 if ((advance) != MagickFalse) \ 65 #define MaxImageStackDepth 128 66 #define NewImageStack() \ 68 image_stack[MaxImageStackDepth].image_info=image_info; \ 69 image_stack[0].image_info=CloneImageInfo(image_info); \ 70 image_stack[0].image=NewImageList(); \ 71 image_info=image_stack[0].image_info; \ 72 image=image_stack[0].image; \ 74 #define PushImageStack() \ 77 image_stack[k].image_info=CloneImageInfo(image_stack[k-1].image_info); \ 78 image_stack[k].image=NewImageList(); \ 79 image_info=image_stack[k].image_info; \ 80 image=image_stack[k].image; \ 82 #define PopImageStack() \ 84 if (respect_parenthesis == MagickFalse) \ 86 image_stack[k-1].image_info=DestroyImageInfo(image_stack[k-1].image_info); \ 87 image_stack[k-1].image_info=CloneImageInfo(image_stack[k].image_info); \ 89 image_stack[k].image_info=DestroyImageInfo(image_stack[k].image_info); \ 90 AppendImageToList(&image_stack[k-1].image,image_stack[k].image); \ 92 image_info=image_stack[k].image_info; \ 93 image=image_stack[k].image; \ 95 #define QuantumTick(i,span) ((MagickBooleanType) ((((i) & ((i)-1)) == 0) || \ 96 (((i) & 0xfff) == 0) || \ 97 ((MagickOffsetType) (i) == ((MagickOffsetType) (span)-1)))) 98 #define RemoveImageStack(images) \ 100 images=RemoveFirstImageFromList(&image_stack[k].image); \ 101 image=image_stack[k].image; \ 103 #define RemoveAllImageStack() \ 105 if (image_stack[k].image != (Image *) NULL) \ 106 image_stack[k].image=DestroyImageList(image_stack[k].image); \ 108 #define SetImageStack(image) \ 110 image_stack[k].image=(image); \ 122 #if defined(__cplusplus) || defined(c_plusplus) ImageInfo * image_info
Definition: mogrify-private.h:116
struct _ImageStack ImageStack
Image * image
Definition: mogrify-private.h:119
Definition: mogrify-private.h:113