magick.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2019 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.  You may
00006   obtain a copy of the License at
00007   
00008     https://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 #include <stdarg.h>
00026 #include "MagickCore/semaphore.h"
00027 
00028 typedef enum
00029 {
00030   UndefinedFormatType,
00031   ImplicitFormatType,
00032   ExplicitFormatType
00033 } MagickFormatType;
00034 
00035 typedef enum
00036 {
00037   CoderNoFlag = 0x0000,
00038   CoderAdjoinFlag = 0x0001,
00039   CoderBlobSupportFlag = 0x0002,
00040   CoderDecoderThreadSupportFlag = 0x0004,
00041   CoderEncoderThreadSupportFlag = 0x0008,
00042   CoderEndianSupportFlag = 0x0010,
00043   CoderRawSupportFlag = 0x0020,
00044   CoderSeekableStreamFlag = 0x0040, /* deprecated */
00045   CoderStealthFlag = 0x0080,
00046   CoderUseExtensionFlag = 0x0100,
00047   CoderDecoderSeekableStreamFlag = 0x0200,
00048   CoderEncoderSeekableStreamFlag = 0x0400,
00049 
00050 } MagickInfoFlag;
00051 
00052 typedef Image
00053   *DecodeImageHandler(const ImageInfo *,ExceptionInfo *);
00054 
00055 typedef MagickBooleanType
00056   EncodeImageHandler(const ImageInfo *,Image *,ExceptionInfo *);
00057 
00058 typedef MagickBooleanType
00059   IsImageFormatHandler(const unsigned char *,const size_t);
00060 
00061 typedef struct _MagickInfo
00062 {
00063   char
00064     *name,
00065     *description,
00066     *version,
00067     *mime_type,
00068     *note,
00069     *module;
00070 
00071   DecodeImageHandler
00072     *decoder;
00073 
00074   EncodeImageHandler
00075     *encoder;
00076 
00077   ImageInfo
00078     *image_info;
00079 
00080   IsImageFormatHandler
00081     *magick;
00082 
00083   MagickFormatType
00084     format_type;
00085 
00086   MagickStatusType
00087     flags;
00088 
00089   SemaphoreInfo
00090     *semaphore;
00091 
00092   size_t
00093     signature;
00094 
00095   void
00096     *client_data;
00097 } MagickInfo;
00098 
00099 extern MagickExport char
00100   **GetMagickList(const char *,size_t *,ExceptionInfo *);
00101 
00102 extern MagickExport const char
00103   *GetMagickDescription(const MagickInfo *),
00104   *GetMagickMimeType(const MagickInfo *);
00105 
00106 extern MagickExport DecodeImageHandler
00107   *GetImageDecoder(const MagickInfo *) magick_attribute((__pure__));
00108 
00109 extern MagickExport EncodeImageHandler
00110   *GetImageEncoder(const MagickInfo *) magick_attribute((__pure__));
00111 
00112 extern MagickExport int
00113   GetMagickPrecision(void),
00114   SetMagickPrecision(const int);
00115 
00116 extern MagickExport MagickBooleanType
00117   GetImageMagick(const unsigned char *,const size_t,char *),
00118   GetMagickAdjoin(const MagickInfo *) magick_attribute((__pure__)),
00119   GetMagickBlobSupport(const MagickInfo *) magick_attribute((__pure__)),
00120   GetMagickDecoderSeekableStream(const MagickInfo *)
00121     magick_attribute((__pure__)),
00122   GetMagickDecoderThreadSupport(const MagickInfo *)
00123     magick_attribute((__pure__)),
00124   GetMagickEncoderSeekableStream(const MagickInfo *)
00125      magick_attribute((__pure__)),
00126   GetMagickEncoderThreadSupport(const MagickInfo *)
00127     magick_attribute((__pure__)),
00128   GetMagickEndianSupport(const MagickInfo *) magick_attribute((__pure__)),
00129   GetMagickRawSupport(const MagickInfo *) magick_attribute((__pure__)),
00130   GetMagickStealth(const MagickInfo *) magick_attribute((__pure__)),
00131   GetMagickUseExtension(const MagickInfo *) magick_attribute((__pure__)),
00132   IsMagickCoreInstantiated(void) magick_attribute((__pure__)),
00133   RegisterMagickInfo(MagickInfo *),
00134   UnregisterMagickInfo(const char *);
00135 
00136 extern const MagickExport MagickInfo
00137   *GetMagickInfo(const char *,ExceptionInfo *),
00138   **GetMagickInfoList(const char *,size_t *,ExceptionInfo *);
00139 
00140 extern MagickExport MagickInfo
00141   *AcquireMagickInfo(const char *, const char *, const char *);
00142 
00143 extern MagickExport void
00144   MagickCoreGenesis(const char *,const MagickBooleanType),
00145   MagickCoreTerminus(void);
00146 
00147 #if defined(__cplusplus) || defined(c_plusplus)
00148 }
00149 #endif
00150 
00151 #endif

Generated on 22 Jul 2019 for MagickCore by  doxygen 1.6.1