# MagickWand.h

Go to the documentation of this file.

    00001 /*
    00002   Copyright 1999-2010 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 "magick/magick-config.h"
    00030 # else
    00031 #  include "magick-config.h"
    00032 # endif
    00033 # if defined(__cplusplus) || defined(c_plusplus)
    00034 #  undef inline
    00035 # endif
    00036 #endif
    00037
    00038 #include <stdio.h>
    00039 #include <stdarg.h>
    00040 #include <stdlib.h>
    00041 #include <sys/types.h>
    00042
    00043 #if defined(__CYGWIN32__)
    00044 #  if !defined(__CYGWIN__)
    00045 #    define __CYGWIN__ __CYGWIN32__
    00046 #  endif
    00047 #endif
    00048 #if defined(_WIN32) || defined(WIN32)
    00049 #  if !defined(__WINDOWS__)
    00050 #    if defined(_WIN32)
    00051 #      define __WINDOWS__ _WIN32
    00052 #    else
    00053 #      if defined(WIN32)
    00054 #        define __WINDOWS__ WIN32
    00055 #      endif
    00056 #    endif
    00057 #  endif
    00058 #endif
    00059
    00060 #if defined(_WIN64) || defined(WIN64)
    00061 #  if !defined(__WINDOWS__)
    00062 #    if defined(_WIN64)
    00063 #      define __WINDOWS__ _WIN64
    00064 #    else
    00065 #      if defined(WIN64)
    00066 #        define __WINDOWS__ WIN64
    00067 #      endif
    00068 #    endif
    00069 #  endif
    00070 #endif
    00071
    00072 #if defined(__WINDOWS__)
    00073 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
    00074 #  define _MAGICKDLL_
    00075 # endif
    00076 # if defined(_MAGICKDLL_)
    00077 #  if defined(_VISUALC_)
    00078 #   pragma warning( disable: 4273 )  /* Disable the dll linkage warnings */
    00079 #  endif
    00080 #  if !defined(_MAGICKLIB_)
    00081 #   define WandExport  __declspec(dllimport)
    00082 #   if defined(_VISUALC_)
    00083 #    pragma message( "MagickWand lib DLL import interface" )
    00084 #   endif
    00085 #  else
    00086 #   define WandExport  __declspec(dllexport)
    00087 #   if defined(_VISUALC_)
    00088 #    pragma message( "MagickWand lib DLL export interface" )
    00089 #   endif
    00090 #  endif
    00091 # else
    00092 #  define WandExport
    00093 #  if defined(_VISUALC_)
    00094 #   pragma message( "MagickWand lib static interface" )
    00095 #  endif
    00096 # endif
    00097
    00098 # if defined(_DLL) && !defined(_LIB)
    00099 #  define ModuleExport  __declspec(dllexport)
    00100 #  if defined(_VISUALC_)
    00101 #   pragma message( "MagickWand module DLL export interface" )
    00102 #  endif
    00103 # else
    00104 #  define ModuleExport
    00105 #  if defined(_VISUALC_)
    00106 #   pragma message( "MagickWand module static interface" )
    00107 #  endif
    00108
    00109 # endif
    00110 # define WandGlobal __declspec(thread)
    00111 # if defined(_VISUALC_)
    00112 #  pragma warning(disable : 4018)
    00113 #  pragma warning(disable : 4244)
    00114 #  pragma warning(disable : 4142)
    00115 #  pragma warning(disable : 4800)
    00116 #  pragma warning(disable : 4786)
    00117 # endif
    00118 #else
    00119 # define WandExport
    00120 # define ModuleExport
    00121 # define WandGlobal
    00122 #endif
    00123
    00124 #if !defined(MaxTextExtent)
    00125 # define MaxTextExtent  4096
    00126 #endif
    00127 #define WandSignature  0xabacadabUL
    00128
    00129 #if !defined(wand_attribute)
    00130 #  if !defined(__GNUC__)
    00131 #    define wand_attribute(x)  /* nothing */
    00132 #  else
    00133 #    define wand_attribute  __attribute__
    00134 #  endif
    00135 #endif
    00136
    00137 typedef struct _MagickWand
    00138   MagickWand;
    00139
    00140 #include "magick/MagickCore.h"
    00141 #include "wand/animate.h"
    00142 #include "wand/compare.h"
    00143 #include "wand/composite.h"
    00144 #include "wand/conjure.h"
    00145 #include "wand/convert.h"
    00146 #include "wand/deprecate.h"
    00147 #include "wand/display.h"
    00148 #include "wand/drawing-wand.h"
    00149 #include "wand/identify.h"
    00150 #include "wand/import.h"
    00151 #include "wand/magick-property.h"
    00152 #include "wand/magick-image.h"
    00153 #include "wand/mogrify.h"
    00154 #include "wand/montage.h"
    00155 #include "wand/pixel-iterator.h"
    00156 #include "wand/pixel-wand.h"
    00157 #include "wand/stream.h"
    00158
    00159 extern WandExport char
    00160   *MagickGetException(const MagickWand *,ExceptionType *);
    00161
    00162 extern WandExport ExceptionType
    00163   MagickGetExceptionType(const MagickWand *);
    00164
    00165 extern WandExport long
    00166   MagickGetIteratorIndex(MagickWand *);
    00167
    00168 extern WandExport MagickBooleanType
    00169   IsMagickWand(const MagickWand *),
    00170   MagickClearException(MagickWand *),
    00171   MagickSetIteratorIndex(MagickWand *,const long);
    00172
    00173 extern WandExport MagickWand
    00174   *CloneMagickWand(const MagickWand *),
    00175   *DestroyMagickWand(MagickWand *),
    00176   *NewMagickWand(void),
    00177         *NewMagickWandFromImage(const Image *);
    00178
    00179 extern WandExport void
    00180   ClearMagickWand(MagickWand *),
    00181   MagickWandGenesis(void),
    00182   MagickWandTerminus(void),
    00183   *MagickRelinquishMemory(void *),
    00184   MagickResetIterator(MagickWand *),
    00185   MagickSetFirstIterator(MagickWand *),
    00186   MagickSetLastIterator(MagickWand *);
    00187
    00188 #if defined(__cplusplus) || defined(c_plusplus)
    00189 }
    00190 #endif
    00191
    00192 #endif