| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- /*
- Copyright 1999 ImageMagick Studio LLC, a non-profit organization
- dedicated to making software imaging solutions freely available.
-
- You may not use this file except in compliance with the License. You may
- obtain a copy of the License at
-
- https://imagemagick.org/script/license.php
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- MagickCore magick methods.
- */
- #ifndef MAGICKCORE_MAGICK_H
- #define MAGICKCORE_MAGICK_H
- #if defined(__cplusplus) || defined(c_plusplus)
- extern "C" {
- #endif
- #include <stdarg.h>
- #include "magick/semaphore.h"
- #if defined(__cplusplus) || defined(c_plusplus)
- # define magick_module _module /* reserved word in C++(20) */
- #else
- # define magick_module module
- #endif
- typedef enum
- {
- UndefinedFormatType,
- ImplicitFormatType,
- ExplicitFormatType
- } MagickFormatType;
- typedef enum
- {
- NoThreadSupport = 0x0000,
- DecoderThreadSupport = 0x0001,
- EncoderThreadSupport = 0x0002
- } MagickThreadSupport;
- typedef Image
- *DecodeImageHandler(const ImageInfo *,ExceptionInfo *);
- typedef MagickBooleanType
- EncodeImageHandler(const ImageInfo *,Image *);
- typedef MagickBooleanType
- IsImageFormatHandler(const unsigned char *,const size_t);
- typedef struct _MagickInfo
- {
- char
- *name,
- *description,
- *version,
- *note,
- *magick_module;
- ImageInfo
- *image_info;
- DecodeImageHandler
- *decoder;
- EncodeImageHandler
- *encoder;
- IsImageFormatHandler
- *magick;
- void
- *client_data;
- MagickBooleanType
- adjoin,
- raw,
- endian_support,
- blob_support,
- seekable_stream;
- MagickFormatType
- format_type;
- MagickStatusType
- thread_support;
- MagickBooleanType
- stealth;
- struct _MagickInfo
- *previous,
- *next; /* deprecated, use GetMagickInfoList() */
- size_t
- signature;
- char
- *mime_type;
- SemaphoreInfo
- *semaphore;
- } MagickInfo;
- extern MagickExport char
- **GetMagickList(const char *,size_t *,ExceptionInfo *);
- extern MagickExport const char
- *GetMagickDescription(const MagickInfo *),
- *GetMagickMimeType(const MagickInfo *);
- extern MagickExport DecodeImageHandler
- *GetImageDecoder(const MagickInfo *) magick_attribute((__pure__));
- extern MagickExport EncodeImageHandler
- *GetImageEncoder(const MagickInfo *) magick_attribute((__pure__));
- extern MagickExport int
- GetMagickPrecision(void),
- SetMagickPrecision(const int);
- extern MagickExport MagickBooleanType
- GetImageMagick(const unsigned char *,const size_t,char *),
- GetMagickAdjoin(const MagickInfo *) magick_attribute((__pure__)),
- GetMagickBlobSupport(const MagickInfo *) magick_attribute((__pure__)),
- GetMagickEndianSupport(const MagickInfo *) magick_attribute((__pure__)),
- GetMagickRawSupport(const MagickInfo *) magick_attribute((__pure__)),
- GetMagickSeekableStream(const MagickInfo *) magick_attribute((__pure__)),
- IsMagickCoreInstantiated(void) magick_attribute((__pure__)),
- MagickComponentGenesis(void),
- UnregisterMagickInfo(const char *);
- extern const MagickExport MagickInfo
- *GetMagickInfo(const char *,ExceptionInfo *),
- **GetMagickInfoList(const char *,size_t *,ExceptionInfo *);
- extern MagickExport MagickInfo
- *RegisterMagickInfo(MagickInfo *),
- *SetMagickInfo(const char *);
- extern MagickExport MagickStatusType
- GetMagickThreadSupport(const MagickInfo *);
- extern MagickExport void
- MagickComponentTerminus(void),
- MagickCoreGenesis(const char *,const MagickBooleanType),
- MagickCoreTerminus(void);
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
- #endif
|