]> granicus.if.org Git - imagemagick/blob - MagickCore/MagickCore.h
(no commit message)
[imagemagick] / MagickCore / MagickCore.h
1 /*
2   Copyright 1999-2012 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   MagickCore Application Programming Interface declarations.
17 */
18
19 #ifndef _MAGICKCORE_CORE_H
20 #define _MAGICKCORE_CORE_H
21
22 #if defined(__cplusplus) || defined(c_plusplus)
23 extern "C" {
24 #endif
25
26 #if !defined(_MAGICKCORE_CONFIG_H)
27 # define _MAGICKCORE_CONFIG_H
28 # if !defined(vms) && !defined(macintosh)
29 #  include "MagickCore/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(_magickcore_restrict) && !defined(restrict)
40 # define restrict  _magickcore_restrict
41 #endif
42 # if defined(__cplusplus) || defined(c_plusplus)
43 #  undef inline
44 # endif
45 #endif
46
47 #include <stdio.h>
48 #include <stdarg.h>
49 #include <stdlib.h>
50 #include <sys/types.h>
51
52 #if defined(WIN32) || defined(WIN64)
53 #  define MAGICKCORE_WINDOWS_SUPPORT
54 #else
55 #  define MAGICKCORE_POSIX_SUPPORT
56 #endif 
57
58 #if defined(__BORLANDC__) && defined(_DLL)
59 #  pragma message("BCBMagick lib DLL export interface")
60 #  define _MAGICKDLL_
61 #  define _MAGICKLIB_
62 #  define MAGICKCORE_MODULES_SUPPORT
63 #  undef MAGICKCORE_BUILD_MODULES
64 #endif
65
66 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
67 # define MagickPrivate
68 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB) && !defined(MAGICK_STATIC_LINK)
69 #  define _MAGICKDLL_
70 # endif
71 # if defined(_MAGICKDLL_)
72 #  if defined(_VISUALC_)
73 #   pragma warning( disable: 4273 )  /* Disable the dll linkage warnings */
74 #  endif
75 #  if !defined(_MAGICKLIB_)
76 #   if defined(__GNUC__)
77 #    define MagickExport __attribute__ ((__dllimport__))
78 #   else
79 #    define MagickExport __declspec(dllimport)
80 #   endif
81 #   if defined(_VISUALC_)
82 #    pragma message( "Magick lib DLL import interface" )
83 #   endif
84 #  else
85 #   if defined(__GNUC__)
86 #    define MagickExport __attribute__ ((__dllexport__))
87 #   else
88 #    define MagickExport __declspec(dllexport)
89 #   endif
90 #   if defined(_VISUALC_)
91 #    pragma message( "Magick lib DLL export interface" )
92 #   endif
93 #  endif
94 # else
95 #  define MagickExport
96 #  if defined(_VISUALC_)
97 #   pragma message( "Magick lib static interface" )
98 #  endif
99 # endif
100
101 # if defined(_DLL) && !defined(_LIB)
102 #  define ModuleExport  __declspec(dllexport)
103 #  if defined(_VISUALC_)
104 #   pragma message( "Magick module DLL export interface" )
105 #  endif
106 # else
107 #  define ModuleExport
108 #  if defined(_VISUALC_)
109 #   pragma message( "Magick module static interface" )
110 #  endif
111
112 # endif
113 # define MagickGlobal __declspec(thread)
114 # if defined(_VISUALC_)
115 #  pragma warning(disable : 4018)
116 #  pragma warning(disable : 4244)
117 #  pragma warning(disable : 4142)
118 #  pragma warning(disable : 4800)
119 #  pragma warning(disable : 4786)
120 #  pragma warning(disable : 4996)
121 # endif
122 #else
123 # if __GNUC__ >= 4
124 #  define MagickExport __attribute__ ((__visibility__ ("default")))
125 #  define MagickPrivate  __attribute__ ((__visibility__ ("hidden")))
126 # else
127 #   define MagickExport
128 #   define MagickPrivate
129 # endif
130 # define ModuleExport  MagickExport
131 # define MagickGlobal
132 #endif
133
134 #if !defined(MaxTextExtent)
135 #  define MaxTextExtent  4096
136 #endif
137 #define MagickSignature  0xabacadabUL
138
139 #if defined(MAGICKCORE_HAVE___ATTRIBUTE__)
140 #  define magick_aligned(x)  __attribute__((__aligned__(x)))
141 #  define magick_attribute  __attribute__
142 #  define magick_unused(x)  magick_unused_ ## x __attribute__((__unused__))
143 #else
144 #  define magick_aligned(x)  /* nothing */
145 #  define magick_attribute(x)  /* nothing */
146 #  define magick_unused(x) x
147 #endif
148
149 #if defined(MAGICKCORE_HAVE___ALLOC_SIZE__)
150 #  define magick_alloc_size(x)  __attribute__((__alloc_size__(x)))
151 #  define magick_alloc_sizes(x,y)  __attribute__((__alloc_size__(x,y)))
152 #  define magick_cold_spot  __attribute__((__cold__))
153 #  define magick_hot_spot  __attribute__((__hot__))
154 #else
155 #  define magick_alloc_size(x)  /* nothing */
156 #  define magick_alloc_sizes(x,y)  /* nothing */
157 #  define magick_cold_spot
158 #  define magick_hot_spot
159 #endif
160
161 #if defined(MAGICKCORE_NAMESPACE_PREFIX)
162 # include "MagickCore/methods.h"
163 #endif
164 #include "MagickCore/magick-type.h"
165 #include "MagickCore/xwindow.h"
166 #include "MagickCore/accelerate.h"
167 #include "MagickCore/animate.h"
168 #include "MagickCore/annotate.h"
169 #include "MagickCore/artifact.h"
170 #include "MagickCore/attribute.h"
171 #include "MagickCore/blob.h"
172 #include "MagickCore/cache.h"
173 #include "MagickCore/cache-view.h"
174 #include "MagickCore/cipher.h"
175 #include "MagickCore/client.h"
176 #include "MagickCore/coder.h"
177 #include "MagickCore/color.h"
178 #include "MagickCore/colorspace.h"
179 #include "MagickCore/colormap.h"
180 #include "MagickCore/compare.h"
181 #include "MagickCore/composite.h"
182 #include "MagickCore/compress.h"
183 #include "MagickCore/configure.h"
184 #include "MagickCore/constitute.h"
185 #include "MagickCore/decorate.h"
186 #include "MagickCore/delegate.h"
187 #include "MagickCore/display.h"
188 #include "MagickCore/distort.h"
189 #include "MagickCore/draw.h"
190 #include "MagickCore/effect.h"
191 #include "MagickCore/enhance.h"
192 #include "MagickCore/exception.h"
193 #include "MagickCore/feature.h"
194 #include "MagickCore/fourier.h"
195 #include "MagickCore/fx.h"
196 #include "MagickCore/gem.h"
197 #include "MagickCore/geometry.h"
198 #include "MagickCore/hashmap.h"
199 #include "MagickCore/histogram.h"
200 #include "MagickCore/identify.h"
201 #include "MagickCore/image.h"
202 #include "MagickCore/image-view.h"
203 #include "MagickCore/layer.h"
204 #include "MagickCore/list.h"
205 #include "MagickCore/locale_.h"
206 #include "MagickCore/log.h"
207 #include "MagickCore/magic.h"
208 #include "MagickCore/magick.h"
209 #include "MagickCore/matrix.h"
210 #include "MagickCore/memory_.h"
211 #include "MagickCore/module.h"
212 #include "MagickCore/mime.h"
213 #include "MagickCore/monitor.h"
214 #include "MagickCore/montage.h"
215 #include "MagickCore/morphology.h"
216 #include "MagickCore/nt-base.h"
217 #include "MagickCore/option.h"
218 #include "MagickCore/paint.h"
219 #include "MagickCore/pixel.h"
220 #include "MagickCore/pixel-accessor.h"
221 #include "MagickCore/policy.h"
222 #include "MagickCore/prepress.h"
223 #include "MagickCore/profile.h"
224 #include "MagickCore/property.h"
225 #include "MagickCore/quantize.h"
226 #include "MagickCore/quantum.h"
227 #include "MagickCore/registry.h"
228 #include "MagickCore/random_.h"
229 #include "MagickCore/resample.h"
230 #include "MagickCore/resize.h"
231 #include "MagickCore/resource_.h"
232 #include "MagickCore/segment.h"
233 #include "MagickCore/shear.h"
234 #include "MagickCore/signature.h"
235 #include "MagickCore/splay-tree.h"
236 #include "MagickCore/stream.h"
237 #include "MagickCore/statistic.h"
238 #include "MagickCore/string_.h"
239 #include "MagickCore/timer.h"
240 #include "MagickCore/token.h"
241 #include "MagickCore/transform.h"
242 #include "MagickCore/threshold.h"
243 #include "MagickCore/type.h"
244 #include "MagickCore/utility.h"
245 #include "MagickCore/version.h"
246 #include "MagickCore/xml-tree.h"
247
248 #if defined(__cplusplus) || defined(c_plusplus)
249 }
250 #endif
251
252 #endif