2 Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
5 You may not use this file except in compliance with the License.
6 obtain a copy of the License at
8 http://www.imagemagick.org/script/license.php
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
16 MagickWand Application Programming Interface declarations.
19 #ifndef _MAGICKWAND_MAGICKWAND_H
20 #define _MAGICKWAND_MAGICKWAND_H
22 #if defined(__cplusplus) || defined(c_plusplus)
26 #if !defined(_MAGICKWAND_CONFIG_H)
27 # define _MAGICKWAND_CONFIG_H
28 # if !defined(vms) && !defined(macintosh)
29 # include "MagickCore/magick-config.h"
31 # include "magick-config.h"
33 #if defined(_magickcore_const) && !defined(const)
34 # define const _magickcore_const
36 #if defined(_magickcore_inline) && !defined(inline)
37 # define inline _magickcore_inline
39 #if !defined(magick_restrict)
40 # if !defined(_magickcore_restrict)
41 # define magick_restrict restrict
43 # define magick_restrict _magickcore_restrict
46 # if defined(__cplusplus) || defined(c_plusplus)
51 #define MAGICKWAND_CHECK_VERSION(major,minor,micro) \
52 ((MAGICKWAND_MAJOR_VERSION > (major)) || \
53 ((MAGICKWAND_MAJOR_VERSION == (major)) && \
54 (MAGICKWAND_MINOR_VERSION > (minor))) || \
55 ((MAGICKWAND_MAJOR_VERSION == (major)) && \
56 (MAGICKWAND_MINOR_VERSION == (minor)) && \
57 (MAGICKWAND_MICRO_VERSION >= (micro))))
63 #include <sys/types.h>
66 #if defined(WIN32) || defined(WIN64)
67 # define MAGICKWAND_WINDOWS_SUPPORT
69 # define MAGICKWAND_POSIX_SUPPORT
72 typedef struct _MagickWand
75 #include "MagickWand/method-attribute.h"
76 #include "MagickCore/MagickCore.h"
77 #include "MagickWand/animate.h"
78 #include "MagickWand/compare.h"
79 #include "MagickWand/composite.h"
80 #include "MagickWand/conjure.h"
81 #include "MagickWand/convert.h"
82 #include "MagickWand/deprecate.h"
83 #include "MagickWand/display.h"
84 #include "MagickWand/drawing-wand.h"
85 #include "MagickWand/identify.h"
86 #include "MagickWand/import.h"
87 #include "MagickWand/wandcli.h"
88 #include "MagickWand/operation.h"
89 #include "MagickWand/magick-cli.h"
90 #include "MagickWand/magick-property.h"
91 #include "MagickWand/magick-image.h"
92 #include "MagickWand/mogrify.h"
93 #include "MagickWand/montage.h"
94 #include "MagickWand/pixel-iterator.h"
95 #include "MagickWand/pixel-wand.h"
96 #include "MagickWand/stream.h"
97 #include "MagickWand/wand-view.h"
99 extern WandExport char
100 *MagickGetException(const MagickWand *,ExceptionType *);
102 extern WandExport ExceptionType
103 MagickGetExceptionType(const MagickWand *);
105 extern WandExport MagickBooleanType
106 IsMagickWand(const MagickWand *),
107 IsMagickWandInstantiated(void),
108 MagickClearException(MagickWand *),
109 MagickSetIteratorIndex(MagickWand *,const ssize_t);
111 extern WandExport MagickWand
112 *CloneMagickWand(const MagickWand *),
113 *DestroyMagickWand(MagickWand *),
114 *NewMagickWand(void),
115 *NewMagickWandFromImage(const Image *);
117 extern WandExport ssize_t
118 MagickGetIteratorIndex(MagickWand *);
120 extern WandExport void
121 ClearMagickWand(MagickWand *),
122 MagickWandGenesis(void),
123 MagickWandTerminus(void),
124 *MagickRelinquishMemory(void *),
125 MagickResetIterator(MagickWand *),
126 MagickSetFirstIterator(MagickWand *),
127 MagickSetLastIterator(MagickWand *);
129 #if defined(__cplusplus) || defined(c_plusplus)