MagickWand  6.7.5
MagickWand.h
Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.
00006   obtain a copy of the License at
00007   
00008     http://www.imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickWand Application Programming Interface declarations.
00017 */
00018 
00019 #ifndef _MAGICK_WAND_H
00020 #define _MAGICK_WAND_H
00021 
00022 #if defined(__cplusplus) || defined(c_plusplus)
00023 extern "C" {
00024 #endif
00025 
00026 #if !defined(_MAGICKWAND_CONFIG_H)
00027 # define _MAGICKWAND_CONFIG_H
00028 # if !defined(vms) && !defined(macintosh)
00029 #  include "MagickCore/magick-config.h"
00030 # else
00031 #  include "magick-config.h"
00032 # endif
00033 #if defined(_magickcore_const) && !defined(const)
00034 # define const _magickcore_const
00035 #endif
00036 #if defined(_magickcore_inline) && !defined(inline)
00037 # define inline _magickcore_inline
00038 #endif
00039 #if defined(_magickcore_restrict) && !defined(restrict)
00040 # define restrict  _magickcore_restrict
00041 #endif
00042 # if defined(__cplusplus) || defined(c_plusplus)
00043 #  undef inline
00044 # endif
00045 #endif
00046 
00047 #include <stdio.h>
00048 #include <stdarg.h>
00049 #include <stdlib.h>
00050 #include <sys/types.h>
00051 
00052 #if defined(WIN32) || defined(WIN64)
00053 #  define MAGICKCORE_WINDOWS_SUPPORT
00054 #else
00055 #  define MAGICKCORE_POSIX_SUPPORT
00056 #endif 
00057 
00058 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
00059 # define WandPrivate
00060 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
00061 #  define _MAGICKDLL_
00062 # endif
00063 # if defined(_MAGICKDLL_)
00064 #  if defined(_VISUALC_)
00065 #   pragma warning( disable: 4273 )  /* Disable the dll linkage warnings */
00066 #  endif
00067 #  if !defined(_MAGICKLIB_)
00068 #   if defined(__GNUC__)
00069 #    define WandExport __attribute__ ((dllimport))
00070 #   else
00071 #    define WandExport __declspec(dllimport)
00072 #   endif
00073 #   if defined(_VISUALC_)
00074 #    pragma message( "MagickWand lib DLL import interface" )
00075 #   endif
00076 #  else
00077 #   if defined(__GNUC__)
00078 #    define WandExport __attribute__ ((dllexport))
00079 #   else
00080 #    define WandExport __declspec(dllexport)
00081 #   endif
00082 #   if defined(_VISUALC_)
00083 #    pragma message( "MagickWand lib DLL export interface" )
00084 #   endif
00085 #  endif
00086 # else
00087 #  define WandExport
00088 #  if defined(_VISUALC_)
00089 #   pragma message( "MagickWand lib static interface" )
00090 #  endif
00091 # endif
00092 
00093 # if defined(_DLL) && !defined(_LIB)
00094 #  define ModuleExport  __declspec(dllexport)
00095 #  if defined(_VISUALC_)
00096 #   pragma message( "MagickWand module DLL export interface" )
00097 #  endif
00098 # else
00099 #  define ModuleExport
00100 #  if defined(_VISUALC_)
00101 #   pragma message( "MagickWand module static interface" )
00102 #  endif
00103 
00104 # endif
00105 # define WandGlobal __declspec(thread)
00106 # if defined(_VISUALC_)
00107 #  pragma warning(disable : 4018)
00108 #  pragma warning(disable : 4244)
00109 #  pragma warning(disable : 4142)
00110 #  pragma warning(disable : 4800)
00111 #  pragma warning(disable : 4786)
00112 #  pragma warning(disable : 4996)
00113 # endif
00114 #else
00115 # if __GNUC__ >= 4
00116 #  define WandExport __attribute__ ((visibility ("default")))
00117 #  define WandPrivate  __attribute__ ((visibility ("hidden")))
00118 # else
00119 #   define WandExport
00120 #   define WandPrivate
00121 # endif
00122 # define WandGlobal
00123 #endif
00124 
00125 #if !defined(MaxTextExtent)
00126 # define MaxTextExtent  4096
00127 #endif
00128 #define WandSignature  0xabacadabUL
00129 
00130 #if !defined(wand_attribute)
00131 #  if !defined(__GNUC__)
00132 #    define wand_attribute(x)  /* nothing */
00133 #  else
00134 #    define wand_attribute  __attribute__
00135 #  endif
00136 #endif
00137 
00138 typedef struct _MagickWand
00139   MagickWand;
00140 
00141 #include "MagickCore/MagickCore.h"
00142 #include "MagickWand/animate.h"
00143 #include "MagickWand/compare.h"
00144 #include "MagickWand/composite.h"
00145 #include "MagickWand/conjure.h"
00146 #include "MagickWand/convert.h"
00147 #include "MagickWand/deprecate.h"
00148 #include "MagickWand/display.h"
00149 #include "MagickWand/drawing-wand.h"
00150 #include "MagickWand/identify.h"
00151 #include "MagickWand/import.h"
00152 #include "MagickWand/magick-property.h"
00153 #include "MagickWand/magick-image.h"
00154 #include "MagickWand/mogrify.h"
00155 #include "MagickWand/montage.h"
00156 #include "MagickWand/pixel-iterator.h"
00157 #include "MagickWand/pixel-wand.h"
00158 #include "MagickWand/stream.h"
00159 #include "MagickWand/wand-view.h"
00160 
00161 extern WandExport char
00162   *MagickGetException(const MagickWand *,ExceptionType *);
00163 
00164 extern WandExport ExceptionType
00165   MagickGetExceptionType(const MagickWand *);
00166 
00167 extern WandExport MagickBooleanType
00168   IsMagickWand(const MagickWand *),
00169   MagickClearException(MagickWand *),
00170   MagickSetIteratorIndex(MagickWand *,const ssize_t);
00171 
00172 extern WandExport MagickWand
00173   *CloneMagickWand(const MagickWand *),
00174   *DestroyMagickWand(MagickWand *),
00175   *NewMagickWand(void),
00176   *NewMagickWandFromImage(const Image *);
00177 
00178 extern WandExport ssize_t
00179   MagickGetIteratorIndex(MagickWand *);
00180 
00181 extern WandExport void
00182   ClearMagickWand(MagickWand *),
00183   MagickWandGenesis(void),
00184   MagickWandTerminus(void),
00185   *MagickRelinquishMemory(void *),
00186   MagickResetIterator(MagickWand *),
00187   MagickSetFirstIterator(MagickWand *),
00188   MagickSetLastIterator(MagickWand *);
00189 
00190 #if defined(__cplusplus) || defined(c_plusplus)
00191 }
00192 #endif
00193 
00194 #endif