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