MagickWand.h revision 0157aeadef2fce908277168097a160a8f15a6952
19f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li/* 29f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization 39f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li dedicated to making software imaging solutions freely available. 49f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 59f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li You may not use this file except in compliance with the License. 69f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li obtain a copy of the License at 79f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 89f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li http://www.imagemagick.org/script/license.php 99f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 109f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li Unless required by applicable law or agreed to in writing, software 119f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li distributed under the License is distributed on an "AS IS" BASIS, 129f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li See the License for the specific language governing permissions and 149f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li limitations under the License. 159f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 169f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickWand Application Programming Interface declarations. 179f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li*/ 189f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 199f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#ifndef _MAGICK_WAND_H 209f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#define _MAGICK_WAND_H 219f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 229f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if defined(__cplusplus) || defined(c_plusplus) 239f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liextern "C" { 249f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 259f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 269f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if !defined(_MAGICKWAND_CONFIG_H) 279f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define _MAGICKWAND_CONFIG_H 289f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if !defined(vms) && !defined(macintosh) 299f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# include "magick/magick-config.h" 309f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# else 319f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# include "magick-config.h" 329f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 339f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if defined(_magickcore_const) && !defined(const) 349f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define const _magickcore_const 359f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 369f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if defined(_magickcore_inline) && !defined(inline) 379f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define inline _magickcore_inline 389f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 399f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(__cplusplus) || defined(c_plusplus) 409f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# undef inline 419f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 429f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 439f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 449f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include <stdio.h> 459f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include <stdarg.h> 469f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include <stdlib.h> 479f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include <sys/types.h> 489f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 499f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if defined(WIN32) || defined(WIN64) 509f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define MAGICKCORE_WINDOWS_SUPPORT 519f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#else 529f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define MAGICKCORE_POSIX_SUPPORT 539f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 549f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 559f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__CYGWIN__) && !defined(__MINGW32__) 569f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB) 579f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define _MAGICKDLL_ 589f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 599f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_MAGICKDLL_) 609f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_VISUALC_) 619f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma warning( disable: 4273 ) /* Disable the dll linkage warnings */ 629f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 639f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if !defined(_MAGICKLIB_) 649f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define WandExport __declspec(dllimport) 659f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_VISUALC_) 669f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma message( "MagickWand lib DLL import interface" ) 679f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 689f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# else 699f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define WandExport __declspec(dllexport) 709f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_VISUALC_) 719f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma message( "MagickWand lib DLL export interface" ) 729f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 739f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 749f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# else 759f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define WandExport 769f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_VISUALC_) 779f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma message( "MagickWand lib static interface" ) 789f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 799f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 809f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 819f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_DLL) && !defined(_LIB) 829f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define ModuleExport __declspec(dllexport) 839f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_VISUALC_) 849f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma message( "MagickWand module DLL export interface" ) 859f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 869f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# else 879f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define ModuleExport 889f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_VISUALC_) 899f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma message( "MagickWand module static interface" ) 909f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 919f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 929f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 939f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define WandGlobal __declspec(thread) 949f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if defined(_VISUALC_) 959f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma warning(disable : 4018) 969f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma warning(disable : 4244) 979f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma warning(disable : 4142) 989f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma warning(disable : 4800) 999f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma warning(disable : 4786) 1009f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# pragma warning(disable : 4996) 1019f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 1029f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#else 1039f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define WandExport 1049f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define ModuleExport 1059f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define WandGlobal 1069f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 1079f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1089f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if !defined(MaxTextExtent) 1099f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define MaxTextExtent 4096 1109f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 1119f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#define WandSignature 0xabacadabUL 1129f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1139f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if !defined(wand_attribute) 1149f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# if !defined(__GNUC__) 1159f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define wand_attribute(x) /* nothing */ 1169f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# else 1179f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# define wand_attribute __attribute__ 1189f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li# endif 1199f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 1209f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1219f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Litypedef struct _MagickWand 1229f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickWand; 1239f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1249f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "magick/MagickCore.h" 1259f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/animate.h" 1269f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/compare.h" 1279f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/composite.h" 1289f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/conjure.h" 1299f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/convert.h" 1309f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/deprecate.h" 1319f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/display.h" 1329f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/drawing-wand.h" 1339f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/identify.h" 1349f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/import.h" 1359f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/magick-property.h" 1369f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/magick-image.h" 1379f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/mogrify.h" 1389f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/montage.h" 1399f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/pixel-iterator.h" 1409f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/pixel-view.h" 1419f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/pixel-wand.h" 1429f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#include "wand/stream.h" 1439f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1449f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liextern WandExport char 1459f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *MagickGetException(const MagickWand *,ExceptionType *); 1469f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1479f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liextern WandExport ExceptionType 1489f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickGetExceptionType(const MagickWand *); 1499f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1509f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liextern WandExport long 1519f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickGetIteratorIndex(MagickWand *); 1529f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1539f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liextern WandExport MagickBooleanType 1549f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li IsMagickWand(const MagickWand *), 1559f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickClearException(MagickWand *), 1569f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickSetIteratorIndex(MagickWand *,const long); 1579f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1589f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liextern WandExport MagickWand 1599f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *CloneMagickWand(const MagickWand *), 1609f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *DestroyMagickWand(MagickWand *), 1619f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *NewMagickWand(void), 1629f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *NewMagickWandFromImage(const Image *); 1639f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1649f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liextern WandExport void 1659f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li ClearMagickWand(MagickWand *), 1669f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickWandGenesis(void), 1679f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickWandTerminus(void), 1689f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *MagickRelinquishMemory(void *), 1699f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickResetIterator(MagickWand *), 1709f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickSetFirstIterator(MagickWand *), 1719f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li MagickSetLastIterator(MagickWand *); 1729f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1739f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#if defined(__cplusplus) || defined(c_plusplus) 1749f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li} 1759f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 1769f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li 1779f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li#endif 1789f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li