summaryrefslogtreecommitdiff
path: root/dmagick/c/magick.d
diff options
context:
space:
mode:
authorMike Wey2011-01-08 17:48:30 +0100
committerMike Wey2011-01-08 17:48:30 +0100
commitcbac78bbec726017355cb455a776f193e7fc3022 (patch)
treea41c564c7ef5aec9dd2b18e58e94b213193044be /dmagick/c/magick.d
initial checkin
Diffstat (limited to 'dmagick/c/magick.d')
-rw-r--r--dmagick/c/magick.d107
1 files changed, 107 insertions, 0 deletions
diff --git a/dmagick/c/magick.d b/dmagick/c/magick.d
new file mode 100644
index 0000000..d343cd2
--- /dev/null
+++ b/dmagick/c/magick.d
@@ -0,0 +1,107 @@
+module dmagick.c.magick;
+
+import dmagick.c.exception;
+import dmagick.c.image;
+import dmagick.c.magickType;
+
+extern(C)
+{
+ enum MagickFormatType
+ {
+ UndefinedFormatType,
+ ImplicitFormatType,
+ ExplicitFormatType
+ }
+
+ enum MagickThreadSupport
+ {
+ NoThreadSupport = 0x0000,
+ DecoderThreadSupport = 0x0001,
+ EncoderThreadSupport = 0x0002
+ }
+
+ alias Image* function(const ImageInfo*, ExceptionInfo*) DecodeImageHandler;
+ alias MagickBooleanType function(const ImageInfo*, Image*) EncodeImageHandler;
+ alias MagickBooleanType function(const ubyte*, const size_t) IsImageFormatHandler;
+
+ struct MagickInfo
+ {
+ char*
+ name,
+ description,
+ vversion,
+ note,
+ mmodule;
+
+ 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;
+
+ MagickInfo*
+ previous,
+ next;
+
+ size_t
+ signature;
+ }
+
+ char** GetMagickList(const char*, size_t*, ExceptionInfo*);
+
+ const(char*) GetMagickDescription(const MagickInfo*);
+
+ DecodeImageHandler* GetImageDecoder(const MagickInfo*);
+
+ EncodeImageHandler* GetImageEncoder(const MagickInfo*);
+
+ int GetMagickPrecision();
+ int SetMagickPrecision(const int);
+
+ MagickBooleanType GetImageMagick(const ubyte*, const size_t, char*);
+ MagickBooleanType GetMagickAdjoin(const MagickInfo*);
+ MagickBooleanType GetMagickBlobSupport(const MagickInfo*);
+ MagickBooleanType GetMagickEndianSupport(const MagickInfo*);
+ MagickBooleanType GetMagickRawSupport(const MagickInfo*);
+ MagickBooleanType GetMagickSeekableStream(const MagickInfo*);
+ MagickBooleanType IsMagickInstantiated();
+ MagickBooleanType MagickComponentGenesis();
+ MagickBooleanType UnregisterMagickInfo(const char*);
+
+ const(MagickInfo*) GetMagickInfo(const char*, ExceptionInfo*);
+ const(MagickInfo**) GetMagickInfoList(const char*, size_t*, ExceptionInfo*);
+
+ MagickInfo* RegisterMagickInfo(MagickInfo*);
+ MagickInfo* SetMagickInfo(const char*);
+
+ MagickStatusType GetMagickThreadSupport(const MagickInfo*);
+
+ void MagickComponentTerminus();
+ void MagickCoreGenesis(const char*, const MagickBooleanType);
+ void MagickCoreTerminus();
+}