]> granicus.if.org Git - imagemagick/blob - MagickWand/MagickWand.h
Removed 3 redundant lines of code from coders/png.c
[imagemagick] / MagickWand / MagickWand.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   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 "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(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
59 # define WandPrivate
60 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
61 #  define _MAGICKDLL_
62 # endif
63 # if defined(_MAGICKDLL_)
64 #  if defined(_VISUALC_)
65 #   pragma warning( disable: 4273 )  /* Disable the dll linkage warnings */
66 #  endif
67 #  if !defined(_MAGICKLIB_)
68 #   if defined(__GNUC__)
69 #    define WandExport __attribute__ ((dllimport))
70 #   else
71 #    define WandExport __declspec(dllimport)
72 #   endif
73 #   if defined(_VISUALC_)
74 #    pragma message( "MagickWand lib DLL import interface" )
75 #   endif
76 #  else
77 #   if defined(__GNUC__)
78 #    define WandExport __attribute__ ((dllexport))
79 #   else
80 #    define WandExport __declspec(dllexport)
81 #   endif
82 #   if defined(_VISUALC_)
83 #    pragma message( "MagickWand lib DLL export interface" )
84 #   endif
85 #  endif
86 # else
87 #  define WandExport
88 #  if defined(_VISUALC_)
89 #   pragma message( "MagickWand lib static interface" )
90 #  endif
91 # endif
92
93 # if defined(_DLL) && !defined(_LIB)
94 #  define ModuleExport  __declspec(dllexport)
95 #  if defined(_VISUALC_)
96 #   pragma message( "MagickWand module DLL export interface" )
97 #  endif
98 # else
99 #  define ModuleExport
100 #  if defined(_VISUALC_)
101 #   pragma message( "MagickWand module static interface" )
102 #  endif
103
104 # endif
105 # define WandGlobal __declspec(thread)
106 # if defined(_VISUALC_)
107 #  pragma warning(disable : 4018)
108 #  pragma warning(disable : 4244)
109 #  pragma warning(disable : 4142)
110 #  pragma warning(disable : 4800)
111 #  pragma warning(disable : 4786)
112 #  pragma warning(disable : 4996)
113 # endif
114 #else
115 # if __GNUC__ >= 4
116 #  define WandExport __attribute__ ((visibility ("default")))
117 #  define WandPrivate  __attribute__ ((visibility ("hidden")))
118 # else
119 #   define WandExport
120 #   define WandPrivate
121 # endif
122 # define WandGlobal
123 #endif
124
125 #if !defined(MaxTextExtent)
126 # define MaxTextExtent  4096
127 #endif
128 #define WandSignature  0xabacadabUL
129
130 #if !defined(wand_attribute)
131 #  if !defined(__GNUC__)
132 #    define wand_attribute(x)  /* nothing */
133 #  else
134 #    define wand_attribute  __attribute__
135 #  endif
136 #endif
137
138 typedef struct _MagickWand
139   MagickWand;
140
141 #include "MagickCore/MagickCore.h"
142 #include "MagickWand/animate.h"
143 #include "MagickWand/compare.h"
144 #include "MagickWand/composite.h"
145 #include "MagickWand/conjure.h"
146 #include "MagickWand/convert.h"
147 #include "MagickWand/deprecate.h"
148 #include "MagickWand/display.h"
149 #include "MagickWand/drawing-wand.h"
150 #include "MagickWand/identify.h"
151 #include "MagickWand/import.h"
152 #include "MagickWand/magick-property.h"
153 #include "MagickWand/magick-image.h"
154 #include "MagickWand/mogrify.h"
155 #include "MagickWand/montage.h"
156 #include "MagickWand/pixel-iterator.h"
157 #include "MagickWand/pixel-wand.h"
158 #include "MagickWand/stream.h"
159 #include "MagickWand/wand-view.h"
160
161 extern WandExport char
162   *MagickGetException(const MagickWand *,ExceptionType *);
163
164 extern WandExport ExceptionType
165   MagickGetExceptionType(const MagickWand *);
166
167 extern WandExport MagickBooleanType
168   IsMagickWand(const MagickWand *),
169   MagickClearException(MagickWand *),
170   MagickSetIteratorIndex(MagickWand *,const ssize_t);
171
172 extern WandExport MagickWand
173   *CloneMagickWand(const MagickWand *),
174   *DestroyMagickWand(MagickWand *),
175   *NewMagickWand(void),
176   *NewMagickWandFromImage(const Image *);
177
178 extern WandExport ssize_t
179   MagickGetIteratorIndex(MagickWand *);
180
181 extern WandExport void
182   ClearMagickWand(MagickWand *),
183   MagickWandGenesis(void),
184   MagickWandTerminus(void),
185   *MagickRelinquishMemory(void *),
186   MagickResetIterator(MagickWand *),
187   MagickSetFirstIterator(MagickWand *),
188   MagickSetLastIterator(MagickWand *);
189
190 #if defined(__cplusplus) || defined(c_plusplus)
191 }
192 #endif
193
194 #endif