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

Generated on 22 Jul 2019 for MagickCore by  doxygen 1.6.1