2 Copyright 1999-2018 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 https://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)
50 #if __cplusplus > 199711L
54 #define MAGICKWAND_CHECK_VERSION(major,minor,micro) \
55 ((MAGICKWAND_MAJOR_VERSION > (major)) || \
56 ((MAGICKWAND_MAJOR_VERSION == (major)) && \
57 (MAGICKWAND_MINOR_VERSION > (minor))) || \
58 ((MAGICKWAND_MAJOR_VERSION == (major)) && \
59 (MAGICKWAND_MINOR_VERSION == (minor)) && \
60 (MAGICKWAND_MICRO_VERSION >= (micro))))
66 #include <sys/types.h>
69 #if defined(WIN32) || defined(WIN64)
70 # define MAGICKWAND_WINDOWS_SUPPORT
72 # define MAGICKWAND_POSIX_SUPPORT
75 typedef struct _MagickWand
78 #include "MagickWand/method-attribute.h"
79 #include "MagickCore/MagickCore.h"
80 #include "MagickWand/animate.h"
81 #include "MagickWand/compare.h"
82 #include "MagickWand/composite.h"
83 #include "MagickWand/conjure.h"
84 #include "MagickWand/convert.h"
85 #include "MagickWand/deprecate.h"
86 #include "MagickWand/display.h"
87 #include "MagickWand/drawing-wand.h"
88 #include "MagickWand/identify.h"
89 #include "MagickWand/import.h"
90 #include "MagickWand/wandcli.h"
91 #include "MagickWand/operation.h"
92 #include "MagickWand/magick-cli.h"
93 #include "MagickWand/magick-property.h"
94 #include "MagickWand/magick-image.h"
95 #include "MagickWand/mogrify.h"
96 #include "MagickWand/montage.h"
97 #include "MagickWand/pixel-iterator.h"
98 #include "MagickWand/pixel-wand.h"
99 #include "MagickWand/stream.h"
100 #include "MagickWand/wand-view.h"
102 extern WandExport char
103 *MagickGetException(const MagickWand *,ExceptionType *);
105 extern WandExport ExceptionType
106 MagickGetExceptionType(const MagickWand *);
108 extern WandExport MagickBooleanType
109 IsMagickWand(const MagickWand *),
110 IsMagickWandInstantiated(void),
111 MagickClearException(MagickWand *),
112 MagickSetIteratorIndex(MagickWand *,const ssize_t);
114 extern WandExport MagickWand
115 *CloneMagickWand(const MagickWand *),
116 *DestroyMagickWand(MagickWand *),
117 *NewMagickWand(void),
118 *NewMagickWandFromImage(const Image *);
120 extern WandExport ssize_t
121 MagickGetIteratorIndex(MagickWand *);
123 extern WandExport void
124 ClearMagickWand(MagickWand *),
125 MagickWandGenesis(void),
126 MagickWandTerminus(void),
127 *MagickRelinquishMemory(void *),
128 MagickResetIterator(MagickWand *),
129 MagickSetFirstIterator(MagickWand *),
130 MagickSetLastIterator(MagickWand *);
132 #if defined(__cplusplus) || defined(c_plusplus)