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