]> granicus.if.org Git - imagemagick/blob - wand/MagickWand.h
1dcaf51d43415a95979655a861ed8658d54e52f6
[imagemagick] / wand / MagickWand.h
1 /*
2   Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization
3   dedicated to making software imaging solutions freely available.
4   
5   You may not use this file except in compliance with the License.
6   obtain a copy of the License at
7   
8     http://www.imagemagick.org/script/license.php
9   
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.
15
16   MagickWand Application Programming Interface declarations.
17 */
18
19 #ifndef _MAGICK_WAND_H
20 #define _MAGICK_WAND_H
21
22 #if defined(__cplusplus) || defined(c_plusplus)
23 extern "C" {
24 #endif
25
26 #if !defined(_MAGICKWAND_CONFIG_H)
27 # define _MAGICKWAND_CONFIG_H
28 # if !defined(vms) && !defined(macintosh)
29 #  include "magick/magick-config.h"
30 # else
31 #  include "magick-config.h"
32 # endif
33 #if defined(_magickcore_const) && !defined(const)
34 # define const _magickcore_const
35 #endif
36 #if defined(_magickcore_inline) && !defined(inline)
37 # define inline _magickcore_inline
38 #endif
39 # if defined(__cplusplus) || defined(c_plusplus)
40 #  undef inline
41 # endif
42 #endif
43
44 #include <stdio.h>
45 #include <stdarg.h>
46 #include <stdlib.h>
47 #include <sys/types.h>
48
49 #if defined(__CYGWIN32__)
50 #  if !defined(__CYGWIN__)
51 #    define __CYGWIN__ __CYGWIN32__
52 #  endif
53 #endif
54 #if defined(_WIN32) || defined(WIN32)
55 #  if !defined(__WINDOWS__)
56 #    if defined(_WIN32)
57 #      define __WINDOWS__ _WIN32
58 #    else
59 #      if defined(WIN32)
60 #        define __WINDOWS__ WIN32
61 #      endif
62 #    endif
63 #  endif
64 #endif
65
66 #if defined(_WIN64) || defined(WIN64)
67 #  if !defined(__WINDOWS__)
68 #    if defined(_WIN64)
69 #      define __WINDOWS__ _WIN64
70 #    else
71 #      if defined(WIN64)
72 #        define __WINDOWS__ WIN64
73 #      endif
74 #    endif
75 #  endif
76 #endif
77
78 #if defined(__WINDOWS__)
79 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
80 #  define _MAGICKDLL_
81 # endif
82 # if defined(_MAGICKDLL_)
83 #  if defined(_VISUALC_)
84 #   pragma warning( disable: 4273 )  /* Disable the dll linkage warnings */
85 #  endif
86 #  if !defined(_MAGICKLIB_)
87 #   define WandExport  __declspec(dllimport)
88 #   if defined(_VISUALC_)
89 #    pragma message( "MagickWand lib DLL import interface" )
90 #   endif
91 #  else
92 #   define WandExport  __declspec(dllexport)
93 #   if defined(_VISUALC_)
94 #    pragma message( "MagickWand lib DLL export interface" )
95 #   endif
96 #  endif
97 # else
98 #  define WandExport
99 #  if defined(_VISUALC_)
100 #   pragma message( "MagickWand lib static interface" )
101 #  endif
102 # endif
103
104 # if defined(_DLL) && !defined(_LIB)
105 #  define ModuleExport  __declspec(dllexport)
106 #  if defined(_VISUALC_)
107 #   pragma message( "MagickWand module DLL export interface" )
108 #  endif
109 # else
110 #  define ModuleExport
111 #  if defined(_VISUALC_)
112 #   pragma message( "MagickWand module static interface" )
113 #  endif
114
115 # endif
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)
124 # endif
125 #else
126 # define WandExport
127 # define ModuleExport
128 # define WandGlobal
129 #endif
130
131 #if !defined(MaxTextExtent)
132 # define MaxTextExtent  4096
133 #endif
134 #define WandSignature  0xabacadabUL
135
136 #if !defined(wand_attribute)
137 #  if !defined(__GNUC__)
138 #    define wand_attribute(x)  /* nothing */
139 #  else
140 #    define wand_attribute  __attribute__
141 #  endif
142 #endif
143
144 typedef struct _MagickWand
145   MagickWand;
146
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"
166
167 extern WandExport char
168   *MagickGetException(const MagickWand *,ExceptionType *);
169
170 extern WandExport ExceptionType
171   MagickGetExceptionType(const MagickWand *);
172
173 extern WandExport long
174   MagickGetIteratorIndex(MagickWand *);
175
176 extern WandExport MagickBooleanType
177   IsMagickWand(const MagickWand *),
178   MagickClearException(MagickWand *),
179   MagickSetIteratorIndex(MagickWand *,const long);
180
181 extern WandExport MagickWand
182   *CloneMagickWand(const MagickWand *),
183   *DestroyMagickWand(MagickWand *),
184   *NewMagickWand(void),
185   *NewMagickWandFromImage(const Image *);
186
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 *);
195
196 #if defined(__cplusplus) || defined(c_plusplus)
197 }
198 #endif
199
200 #endif