|
MagickCore
6.7.5
|
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 MagickCore magick methods. 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 UndefinedFormatType, 00028 ImplicitFormatType, 00029 ExplicitFormatType 00030 } MagickFormatType; 00031 00032 typedef enum 00033 { 00034 NoThreadSupport = 0x0000, 00035 DecoderThreadSupport = 0x0001, 00036 EncoderThreadSupport = 0x0002 00037 } MagickThreadSupport; 00038 00039 typedef Image 00040 *DecodeImageHandler(const ImageInfo *,ExceptionInfo *); 00041 00042 typedef MagickBooleanType 00043 EncodeImageHandler(const ImageInfo *,Image *,ExceptionInfo *); 00044 00045 typedef MagickBooleanType 00046 IsImageFormatHandler(const unsigned char *,const size_t); 00047 00048 typedef struct _MagickInfo 00049 { 00050 char 00051 *name, 00052 *description, 00053 *version, 00054 *note, 00055 *module; 00056 00057 ImageInfo 00058 *image_info; 00059 00060 DecodeImageHandler 00061 *decoder; 00062 00063 EncodeImageHandler 00064 *encoder; 00065 00066 IsImageFormatHandler 00067 *magick; 00068 00069 void 00070 *client_data; 00071 00072 MagickBooleanType 00073 adjoin, 00074 raw, 00075 endian_support, 00076 blob_support, 00077 seekable_stream; 00078 00079 MagickFormatType 00080 format_type; 00081 00082 MagickStatusType 00083 thread_support; 00084 00085 MagickBooleanType 00086 stealth; 00087 00088 size_t 00089 signature; 00090 } MagickInfo; 00091 00092 extern MagickExport char 00093 **GetMagickList(const char *,size_t *,ExceptionInfo *); 00094 00095 extern MagickExport const char 00096 *GetMagickDescription(const MagickInfo *); 00097 00098 extern MagickExport DecodeImageHandler 00099 *GetImageDecoder(const MagickInfo *); 00100 00101 extern MagickExport EncodeImageHandler 00102 *GetImageEncoder(const MagickInfo *); 00103 00104 extern MagickExport int 00105 GetMagickPrecision(void), 00106 SetMagickPrecision(const int); 00107 00108 extern MagickExport MagickBooleanType 00109 GetImageMagick(const unsigned char *,const size_t,char *), 00110 GetMagickAdjoin(const MagickInfo *), 00111 GetMagickBlobSupport(const MagickInfo *), 00112 GetMagickEndianSupport(const MagickInfo *), 00113 GetMagickRawSupport(const MagickInfo *), 00114 GetMagickSeekableStream(const MagickInfo *), 00115 IsMagickInstantiated(void), 00116 UnregisterMagickInfo(const char *); 00117 00118 extern const MagickExport MagickInfo 00119 *GetMagickInfo(const char *,ExceptionInfo *), 00120 **GetMagickInfoList(const char *,size_t *,ExceptionInfo *); 00121 00122 extern MagickExport MagickInfo 00123 *RegisterMagickInfo(MagickInfo *), 00124 *SetMagickInfo(const char *); 00125 00126 extern MagickExport MagickStatusType 00127 GetMagickThreadSupport(const MagickInfo *); 00128 00129 extern MagickExport void 00130 MagickCoreGenesis(const char *,const MagickBooleanType), 00131 MagickCoreTerminus(void); 00132 00133 #if defined(__cplusplus) || defined(c_plusplus) 00134 } 00135 #endif 00136 00137 #endif