magick-wand-private.h revision 151b66dffc9e3c2e8c4f8cdaca37ff987ca0f497
13ed852eea50f9d4cd633efb8c2b054b8e33c253cristy/* 2b56bb24a985ca4366713bcd8ffdfacbb48a98a2fcristy Copyright 1999-2015 ImageMagick Studio LLC, a non-profit organization 33ed852eea50f9d4cd633efb8c2b054b8e33c253cristy dedicated to making software imaging solutions freely available. 43ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 53ed852eea50f9d4cd633efb8c2b054b8e33c253cristy You may not use this file except in compliance with the License. 63ed852eea50f9d4cd633efb8c2b054b8e33c253cristy obtain a copy of the License at 73ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 83ed852eea50f9d4cd633efb8c2b054b8e33c253cristy http://www.imagemagick.org/script/license.php 93ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Unless required by applicable law or agreed to in writing, software 113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy distributed under the License is distributed on an "AS IS" BASIS, 123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy See the License for the specific language governing permissions and 143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy limitations under the License. 153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ImageMagick pixel wand API. 173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy*/ 183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#ifndef _MAGICKWAND_MAGICK_WAND_PRIVATE_H 193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define _MAGICKWAND_MAGICK_WAND_PRIVATE_H 203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(__cplusplus) || defined(c_plusplus) 223ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern "C" { 233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MagickWandId "MagickWand" 263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define QuantumTick(i,span) ((MagickBooleanType) ((((i) & ((i)-1)) == 0) || \ 273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (((i) & 0xfff) == 0) || \ 283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ((MagickOffsetType) (i) == ((MagickOffsetType) (span)-1)))) 297694fb099bf0055f25d62cb5429984e7593d0ae8cristy#define ThrowWandException(severity,tag,context) \ 307694fb099bf0055f25d62cb5429984e7593d0ae8cristy{ \ 317694fb099bf0055f25d62cb5429984e7593d0ae8cristy (void) ThrowMagickException(wand->exception,GetMagickModule(),severity, \ 327694fb099bf0055f25d62cb5429984e7593d0ae8cristy tag,"`%s'",context); \ 337694fb099bf0055f25d62cb5429984e7593d0ae8cristy return(MagickFalse); \ 347694fb099bf0055f25d62cb5429984e7593d0ae8cristy} 35369879c63719c63274b59a3b7893c1fbffde73b3cristy#define ThrowWandFatalException(severity,tag,context) \ 36369879c63719c63274b59a3b7893c1fbffde73b3cristy{ \ 37369879c63719c63274b59a3b7893c1fbffde73b3cristy ExceptionInfo \ 38e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk *exception; \ 39369879c63719c63274b59a3b7893c1fbffde73b3cristy \ 40e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk exception=AcquireExceptionInfo(); \ 41e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk (void) ThrowMagickException(exception,GetMagickModule(),severity,tag, \ 42369879c63719c63274b59a3b7893c1fbffde73b3cristy "`%s'",context); \ 43e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk CatchException(exception); \ 44e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk (void) DestroyExceptionInfo(exception); \ 45369879c63719c63274b59a3b7893c1fbffde73b3cristy MagickWandTerminus(); \ 46369879c63719c63274b59a3b7893c1fbffde73b3cristy _exit((int) (severity-FatalErrorException)+1); \ 47369879c63719c63274b59a3b7893c1fbffde73b3cristy} 483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 493ed852eea50f9d4cd633efb8c2b054b8e33c253cristystruct _MagickWand 503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 51bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy size_t 523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy id; 533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy char 55151b66dffc9e3c2e8c4f8cdaca37ff987ca0f497cristy name[MagickPathExtent]; /* Wand name to use for MagickWand Logs */ 563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 57a89dd1754cb0d91d27735def18faff913a369be4anthony Image 5831f1bf7bb6ee2698a2afab42ee0329b11663636canthony *images; /* The images in this wand - also the current image */ 593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ImageInfo 61a89dd1754cb0d91d27735def18faff913a369be4anthony *image_info; /* Global settings used for images in Wand */ 623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6343f425dd7d5b33887726982b28ebfa06f5560636anthony ExceptionInfo 6443f425dd7d5b33887726982b28ebfa06f5560636anthony *exception; 653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickBooleanType 6745083311df05d1400d94bdf855252fff6320fe06anthony insert_before, /* wand set to first image, prepend new images */ 6845083311df05d1400d94bdf855252fff6320fe06anthony image_pending, /* this image is pending Next/Previous Iteration */ 69a89dd1754cb0d91d27735def18faff913a369be4anthony debug; /* Log calls to MagickWand library */ 70a89dd1754cb0d91d27735def18faff913a369be4anthony 71bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy size_t 723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy signature; 733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}; 743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(__cplusplus) || defined(c_plusplus) 763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 80