00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _MAGICKCORE_MAGICK_H
00019 #define _MAGICKCORE_MAGICK_H
00020
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 typedef enum
00026 {
00027 NoThreadSupport = 0x0000,
00028 DecoderThreadSupport = 0x0001,
00029 EncoderThreadSupport = 0x0002
00030 } MagickThreadSupport;
00031
00032 typedef Image
00033 *DecodeImageHandler(const ImageInfo *,ExceptionInfo *);
00034
00035 typedef MagickBooleanType
00036 EncodeImageHandler(const ImageInfo *,Image *);
00037
00038 typedef MagickBooleanType
00039 IsImageFormatHandler(const unsigned char *,const size_t);
00040
00041 typedef struct _MagickInfo
00042 {
00043 char
00044 *name,
00045 *description,
00046 *version,
00047 *note,
00048 *module;
00049
00050 ImageInfo
00051 *image_info;
00052
00053 DecodeImageHandler
00054 *decoder;
00055
00056 EncodeImageHandler
00057 *encoder;
00058
00059 IsImageFormatHandler
00060 *magick;
00061
00062 void
00063 *client_data;
00064
00065 MagickBooleanType
00066 adjoin,
00067 raw,
00068 endian_support,
00069 blob_support,
00070 seekable_stream;
00071
00072 MagickStatusType
00073 thread_support;
00074
00075 MagickBooleanType
00076 stealth;
00077
00078 struct _MagickInfo
00079 *previous,
00080 *next;
00081
00082 unsigned long
00083 signature;
00084 } MagickInfo;
00085
00086 extern MagickExport char
00087 **GetMagickList(const char *,unsigned long *,ExceptionInfo *);
00088
00089 extern MagickExport const char
00090 *GetImageMagick(const unsigned char *,const size_t),
00091 *GetMagickDescription(const MagickInfo *);
00092
00093 extern MagickExport DecodeImageHandler
00094 *GetImageDecoder(const MagickInfo *);
00095
00096 extern MagickExport EncodeImageHandler
00097 *GetImageEncoder(const MagickInfo *);
00098
00099 extern MagickExport MagickBooleanType
00100 GetMagickAdjoin(const MagickInfo *),
00101 GetMagickBlobSupport(const MagickInfo *),
00102 GetMagickEndianSupport(const MagickInfo *),
00103 GetMagickSeekableStream(const MagickInfo *),
00104 IsMagickInstantiated(void),
00105 UnregisterMagickInfo(const char *);
00106
00107 extern const MagickExport MagickInfo
00108 *GetMagickInfo(const char *,ExceptionInfo *),
00109 **GetMagickInfoList(const char *,unsigned long *,ExceptionInfo *);
00110
00111 extern MagickExport MagickInfo
00112 *RegisterMagickInfo(MagickInfo *),
00113 *SetMagickInfo(const char *);
00114
00115 extern MagickExport MagickStatusType
00116 GetMagickThreadSupport(const MagickInfo *);
00117
00118 extern MagickExport void
00119 DestroyMagickList(void),
00120 MagickCoreGenesis(const char *,const MagickBooleanType),
00121 MagickCoreTerminus(void);
00122
00123 #if defined(__cplusplus) || defined(c_plusplus)
00124 }
00125 #endif
00126
00127 #endif