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