MagickWand.h revision 87110814eab0e8cdaab78023d7e54427da8dc267
1/*
2  Copyright 1999-2013 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 _MAGICKWAND_MAGICKWAND_H
20#define _MAGICKWAND_MAGICKWAND_H
21
22#if defined(__cplusplus) || defined(c_plusplus)
23extern "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#define MAGICKWAND_CHECK_VERSION(major,minor,micro) \
48  ((MAGICKWAND_MAJOR_VERSION > (major)) || \
49    ((MAGICKWAND_MAJOR_VERSION == (major)) && \
50     (MAGICKWAND_MINOR_VERSION > (minor))) || \
51    ((MAGICKWAND_MAJOR_VERSION == (major)) && \
52     (MAGICKWAND_MINOR_VERSION == (minor)) && \
53     (MAGICKWAND_MICRO_VERSION >= (micro))))
54
55#include <stdio.h>
56#include <stdarg.h>
57#include <stdlib.h>
58#include <math.h>
59#include <sys/types.h>
60
61#if defined(WIN32) || defined(WIN64)
62#  define MAGICKWAND_WINDOWS_SUPPORT
63#else
64#  define MAGICKWAND_POSIX_SUPPORT
65#endif
66
67typedef struct _MagickWand
68  MagickWand;
69
70#include "MagickWand/method-attribute.h"
71#include "MagickCore/MagickCore.h"
72#include "MagickWand/animate.h"
73#include "MagickWand/compare.h"
74#include "MagickWand/composite.h"
75#include "MagickWand/conjure.h"
76#include "MagickWand/convert.h"
77#include "MagickWand/deprecate.h"
78#include "MagickWand/display.h"
79#include "MagickWand/drawing-wand.h"
80#include "MagickWand/identify.h"
81#include "MagickWand/import.h"
82#include "MagickWand/wandcli.h"
83#include "MagickWand/operation.h"
84#include "MagickWand/magick-cli.h"
85#include "MagickWand/magick-property.h"
86#include "MagickWand/magick-image.h"
87#include "MagickWand/mogrify.h"
88#include "MagickWand/montage.h"
89#include "MagickWand/pixel-iterator.h"
90#include "MagickWand/pixel-wand.h"
91#include "MagickWand/stream.h"
92#include "MagickWand/wand-view.h"
93
94extern WandExport char
95  *MagickGetException(const MagickWand *,ExceptionType *);
96
97extern WandExport ExceptionType
98  MagickGetExceptionType(const MagickWand *);
99
100extern WandExport MagickBooleanType
101  IsMagickWand(const MagickWand *),
102  MagickClearException(MagickWand *),
103  MagickSetIteratorIndex(MagickWand *,const ssize_t);
104
105extern WandExport MagickWand
106  *CloneMagickWand(const MagickWand *),
107  *DestroyMagickWand(MagickWand *),
108  *NewMagickWand(void),
109  *NewMagickWandFromImage(const Image *);
110
111extern WandExport ssize_t
112  MagickGetIteratorIndex(MagickWand *);
113
114extern WandExport void
115  ClearMagickWand(MagickWand *),
116  MagickWandGenesis(void),
117  MagickWandTerminus(void),
118  *MagickRelinquishMemory(void *),
119  MagickResetIterator(MagickWand *),
120  MagickSetFirstIterator(MagickWand *),
121  MagickSetLastIterator(MagickWand *);
122
123#if defined(__cplusplus) || defined(c_plusplus)
124}
125#endif
126
127#endif
128