MagickWand.h revision b56bb24a985ca4366713bcd8ffdfacbb48a98a2f
1/*
2  Copyright 1999-2015 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#include <time.h>
61
62#if defined(WIN32) || defined(WIN64)
63#  define MAGICKWAND_WINDOWS_SUPPORT
64#else
65#  define MAGICKWAND_POSIX_SUPPORT
66#endif
67
68typedef struct _MagickWand
69  MagickWand;
70
71#include "MagickWand/method-attribute.h"
72#include "MagickCore/MagickCore.h"
73#include "MagickWand/animate.h"
74#include "MagickWand/compare.h"
75#include "MagickWand/composite.h"
76#include "MagickWand/conjure.h"
77#include "MagickWand/convert.h"
78#include "MagickWand/deprecate.h"
79#include "MagickWand/display.h"
80#include "MagickWand/drawing-wand.h"
81#include "MagickWand/identify.h"
82#include "MagickWand/import.h"
83#include "MagickWand/wandcli.h"
84#include "MagickWand/operation.h"
85#include "MagickWand/magick-cli.h"
86#include "MagickWand/magick-property.h"
87#include "MagickWand/magick-image.h"
88#include "MagickWand/mogrify.h"
89#include "MagickWand/montage.h"
90#include "MagickWand/pixel-iterator.h"
91#include "MagickWand/pixel-wand.h"
92#include "MagickWand/stream.h"
93#include "MagickWand/wand-view.h"
94
95extern WandExport char
96  *MagickGetException(const MagickWand *,ExceptionType *);
97
98extern WandExport ExceptionType
99  MagickGetExceptionType(const MagickWand *);
100
101extern WandExport MagickBooleanType
102  IsMagickWand(const MagickWand *),
103  IsMagickWandInstantiated(void),
104  MagickClearException(MagickWand *),
105  MagickSetIteratorIndex(MagickWand *,const ssize_t);
106
107extern WandExport MagickWand
108  *CloneMagickWand(const MagickWand *),
109  *DestroyMagickWand(MagickWand *),
110  *NewMagickWand(void),
111  *NewMagickWandFromImage(const Image *);
112
113extern WandExport ssize_t
114  MagickGetIteratorIndex(MagickWand *);
115
116extern WandExport void
117  ClearMagickWand(MagickWand *),
118  MagickWandGenesis(void),
119  MagickWandTerminus(void),
120  *MagickRelinquishMemory(void *),
121  MagickResetIterator(MagickWand *),
122  MagickSetFirstIterator(MagickWand *),
123  MagickSetLastIterator(MagickWand *);
124
125#if defined(__cplusplus) || defined(c_plusplus)
126}
127#endif
128
129#endif
130