13ed852eea50f9d4cd633efb8c2b054b8e33c253cristy/* 27ce65e7125a4e1df1a274ce373c537a9df9c16cdCristy Copyright 1999-2016 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 MagickWand Application Programming Interface declarations. 173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy*/ 183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1983bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy#ifndef MAGICKWAND_MAGICKWAND_H 2083bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy#define MAGICKWAND_MAGICKWAND_H 213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(__cplusplus) || defined(c_plusplus) 233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern "C" { 243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2683bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy#if !defined(MAGICKWAND_CONFIG_H) 2783bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy# define MAGICKWAND_CONFIG_H 283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# if !defined(vms) && !defined(macintosh) 294c08aed51c5899665ade97263692328eea4af106cristy# include "MagickCore/magick-config.h" 303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# else 313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# include "magick-config.h" 323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# endif 333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(_magickcore_const) && !defined(const) 343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# define const _magickcore_const 353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(_magickcore_inline) && !defined(inline) 373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# define inline _magickcore_inline 383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 3905d2ff7ebf21f659f5b11e45afb294e152f4330cdirk#if !defined(magick_restrict) 4005d2ff7ebf21f659f5b11e45afb294e152f4330cdirk# if !defined(_magickcore_restrict) 4105d2ff7ebf21f659f5b11e45afb294e152f4330cdirk# define magick_restrict restrict 4205d2ff7ebf21f659f5b11e45afb294e152f4330cdirk# else 4305d2ff7ebf21f659f5b11e45afb294e152f4330cdirk# define magick_restrict _magickcore_restrict 4405d2ff7ebf21f659f5b11e45afb294e152f4330cdirk# endif 45ba56db507fc807dbf2edd6b5222d9a6184ba26cacristy#endif 463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# if defined(__cplusplus) || defined(c_plusplus) 473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# undef inline 483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy# endif 493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 51c3eda391504812473b8d1379d13eda97a1376043cristy#define MAGICKWAND_CHECK_VERSION(major,minor,micro) \ 52c3eda391504812473b8d1379d13eda97a1376043cristy ((MAGICKWAND_MAJOR_VERSION > (major)) || \ 53c3eda391504812473b8d1379d13eda97a1376043cristy ((MAGICKWAND_MAJOR_VERSION == (major)) && \ 54c3eda391504812473b8d1379d13eda97a1376043cristy (MAGICKWAND_MINOR_VERSION > (minor))) || \ 55c3eda391504812473b8d1379d13eda97a1376043cristy ((MAGICKWAND_MAJOR_VERSION == (major)) && \ 56c3eda391504812473b8d1379d13eda97a1376043cristy (MAGICKWAND_MINOR_VERSION == (minor)) && \ 57c3eda391504812473b8d1379d13eda97a1376043cristy (MAGICKWAND_MICRO_VERSION >= (micro)))) 58c3eda391504812473b8d1379d13eda97a1376043cristy 593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <stdio.h> 603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <stdarg.h> 613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <stdlib.h> 625a41c36d910a8cd17ba0681304d1a8159cbc0f01cristy#include <math.h> 633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <sys/types.h> 646398ec777e91813b64767e25358b7062a7de56cbcristy#include <time.h> 653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 660157aeadef2fce908277168097a160a8f15a6952cristy#if defined(WIN32) || defined(WIN64) 67c3eda391504812473b8d1379d13eda97a1376043cristy# define MAGICKWAND_WINDOWS_SUPPORT 680157aeadef2fce908277168097a160a8f15a6952cristy#else 69c3eda391504812473b8d1379d13eda97a1376043cristy# define MAGICKWAND_POSIX_SUPPORT 700157aeadef2fce908277168097a160a8f15a6952cristy#endif 713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 723ed852eea50f9d4cd633efb8c2b054b8e33c253cristytypedef struct _MagickWand 733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickWand; 743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7587110814eab0e8cdaab78023d7e54427da8dc267cristy#include "MagickWand/method-attribute.h" 764c08aed51c5899665ade97263692328eea4af106cristy#include "MagickCore/MagickCore.h" 774c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/animate.h" 784c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/compare.h" 794c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/composite.h" 804c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/conjure.h" 814c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/convert.h" 824c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/deprecate.h" 834c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/display.h" 844c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/drawing-wand.h" 854c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/identify.h" 864c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/import.h" 8776edd749f3e32915cae416068c3cb2f14f8dbc8banthony#include "MagickWand/wandcli.h" 882052d27d92125fd91005c0a737a1a950d8163047anthony#include "MagickWand/operation.h" 8900886dca9b14b410b0310faf1a1c2fd7c5a63698anthony#include "MagickWand/magick-cli.h" 904c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/magick-property.h" 914c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/magick-image.h" 924c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/mogrify.h" 934c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/montage.h" 944c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/pixel-iterator.h" 954c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/pixel-wand.h" 964c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/stream.h" 974c08aed51c5899665ade97263692328eea4af106cristy#include "MagickWand/wand-view.h" 983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern WandExport char 1003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy *MagickGetException(const MagickWand *,ExceptionType *); 1013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1023ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern WandExport ExceptionType 1033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickGetExceptionType(const MagickWand *); 1043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1053ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern WandExport MagickBooleanType 1063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy IsMagickWand(const MagickWand *), 107019459e2674f3167b5d836aad8793dc48f437468cristy IsMagickWandInstantiated(void), 1083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickClearException(MagickWand *), 109bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy MagickSetIteratorIndex(MagickWand *,const ssize_t); 1103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1113ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern WandExport MagickWand 1123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy *CloneMagickWand(const MagickWand *), 1133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy *DestroyMagickWand(MagickWand *), 1143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy *NewMagickWand(void), 1153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy *NewMagickWandFromImage(const Image *); 1163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1175ed838e7a9da2b53119d0f61f728af04a093d4edcristyextern WandExport ssize_t 1185ed838e7a9da2b53119d0f61f728af04a093d4edcristy MagickGetIteratorIndex(MagickWand *); 1195ed838e7a9da2b53119d0f61f728af04a093d4edcristy 1203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern WandExport void 1213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ClearMagickWand(MagickWand *), 1223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickWandGenesis(void), 1233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickWandTerminus(void), 1243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy *MagickRelinquishMemory(void *), 1253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickResetIterator(MagickWand *), 1263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickSetFirstIterator(MagickWand *), 1273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickSetLastIterator(MagickWand *); 1283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(__cplusplus) || defined(c_plusplus) 1303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 1323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 134