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