2 Copyright 1999-2010 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 _MAGICK_WAND_H
20 #define _MAGICK_WAND_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 "magick/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(__cplusplus) || defined(c_plusplus)
47 #include <sys/types.h>
49 #if defined(__CYGWIN32__)
50 # if !defined(__CYGWIN__)
51 # define __CYGWIN__ __CYGWIN32__
54 #if defined(_WIN32) || defined(WIN32)
55 # if !defined(__WINDOWS__)
57 # define __WINDOWS__ _WIN32
60 # define __WINDOWS__ WIN32
66 #if defined(_WIN64) || defined(WIN64)
67 # if !defined(__WINDOWS__)
69 # define __WINDOWS__ _WIN64
72 # define __WINDOWS__ WIN64
78 #if defined(__WINDOWS__)
79 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
82 # if defined(_MAGICKDLL_)
83 # if defined(_VISUALC_)
84 # pragma warning( disable: 4273 ) /* Disable the dll linkage warnings */
86 # if !defined(_MAGICKLIB_)
87 # define WandExport __declspec(dllimport)
88 # if defined(_VISUALC_)
89 # pragma message( "MagickWand lib DLL import interface" )
92 # define WandExport __declspec(dllexport)
93 # if defined(_VISUALC_)
94 # pragma message( "MagickWand lib DLL export interface" )
99 # if defined(_VISUALC_)
100 # pragma message( "MagickWand lib static interface" )
104 # if defined(_DLL) && !defined(_LIB)
105 # define ModuleExport __declspec(dllexport)
106 # if defined(_VISUALC_)
107 # pragma message( "MagickWand module DLL export interface" )
110 # define ModuleExport
111 # if defined(_VISUALC_)
112 # pragma message( "MagickWand module static interface" )
116 # define WandGlobal __declspec(thread)
117 # if defined(_VISUALC_)
118 # pragma warning(disable : 4018)
119 # pragma warning(disable : 4244)
120 # pragma warning(disable : 4142)
121 # pragma warning(disable : 4800)
122 # pragma warning(disable : 4786)
123 # pragma warning(disable : 4996)
127 # define ModuleExport
131 #if !defined(MaxTextExtent)
132 # define MaxTextExtent 4096
134 #define WandSignature 0xabacadabUL
136 #if !defined(wand_attribute)
137 # if !defined(__GNUC__)
138 # define wand_attribute(x) /* nothing */
140 # define wand_attribute __attribute__
144 typedef struct _MagickWand
147 #include "magick/MagickCore.h"
148 #include "wand/animate.h"
149 #include "wand/compare.h"
150 #include "wand/composite.h"
151 #include "wand/conjure.h"
152 #include "wand/convert.h"
153 #include "wand/deprecate.h"
154 #include "wand/display.h"
155 #include "wand/drawing-wand.h"
156 #include "wand/identify.h"
157 #include "wand/import.h"
158 #include "wand/magick-property.h"
159 #include "wand/magick-image.h"
160 #include "wand/mogrify.h"
161 #include "wand/montage.h"
162 #include "wand/pixel-iterator.h"
163 #include "wand/pixel-view.h"
164 #include "wand/pixel-wand.h"
165 #include "wand/stream.h"
167 extern WandExport char
168 *MagickGetException(const MagickWand *,ExceptionType *);
170 extern WandExport ExceptionType
171 MagickGetExceptionType(const MagickWand *);
173 extern WandExport long
174 MagickGetIteratorIndex(MagickWand *);
176 extern WandExport MagickBooleanType
177 IsMagickWand(const MagickWand *),
178 MagickClearException(MagickWand *),
179 MagickSetIteratorIndex(MagickWand *,const long);
181 extern WandExport MagickWand
182 *CloneMagickWand(const MagickWand *),
183 *DestroyMagickWand(MagickWand *),
184 *NewMagickWand(void),
185 *NewMagickWandFromImage(const Image *);
187 extern WandExport void
188 ClearMagickWand(MagickWand *),
189 MagickWandGenesis(void),
190 MagickWandTerminus(void),
191 *MagickRelinquishMemory(void *),
192 MagickResetIterator(MagickWand *),
193 MagickSetFirstIterator(MagickWand *),
194 MagickSetLastIterator(MagickWand *);
196 #if defined(__cplusplus) || defined(c_plusplus)