summaryrefslogtreecommitdiff
path: root/dmagick/c
diff options
context:
space:
mode:
authorMike Wey2011-10-19 22:51:16 +0200
committerMike Wey2011-10-19 22:51:16 +0200
commit3b0b0d09697023b185bb8a07511ab88954dd99ee (patch)
treef4f15cd8b8f785e75dba61d12cd87081b163098b /dmagick/c
parentaee3a1a5cec87840c35516debb399ce3d2ab6598 (diff)
Add support for imageMagick 6.6.2 to the headers.
Diffstat (limited to 'dmagick/c')
-rw-r--r--dmagick/c/imageView.d2
-rw-r--r--dmagick/c/log.d74
-rw-r--r--dmagick/c/magickVersion.d11
-rw-r--r--dmagick/c/morphology.d33
-rw-r--r--dmagick/c/utility.d6
5 files changed, 97 insertions, 29 deletions
diff --git a/dmagick/c/imageView.d b/dmagick/c/imageView.d
index 515ce28..30ef32b 100644
--- a/dmagick/c/imageView.d
+++ b/dmagick/c/imageView.d
@@ -47,7 +47,7 @@ extern(C)
void SetImageViewDescription(ImageView*, const(char)*);
- static if ( MagickLibVersion >= 0x655 )
+ static if ( MagickLibVersion >= 0x665 )
{
void SetImageViewThreads(ImageView*, const size_t);
}
diff --git a/dmagick/c/log.d b/dmagick/c/log.d
index 6211dd7..eba0afc 100644
--- a/dmagick/c/log.d
+++ b/dmagick/c/log.d
@@ -5,32 +5,62 @@ import core.vararg;
import dmagick.c.exception;
import dmagick.c.magickType;
+import dmagick.c.magickVersion;
extern(C)
{
- enum LogEventType
+ static if (MagickLibVersion >= 0x663)
{
- UndefinedEvents,
- NoEvents = 0x00000,
- TraceEvent = 0x00001,
- AnnotateEvent = 0x00002,
- BlobEvent = 0x00004,
- CacheEvent = 0x00008,
- CoderEvent = 0x00010,
- ConfigureEvent = 0x00020,
- DeprecateEvent = 0x00040,
- DrawEvent = 0x00080,
- ExceptionEvent = 0x00100,
- ImageEvent = 0x00200,
- LocaleEvent = 0x00400,
- ModuleEvent = 0x00800,
- PolicyEvent = 0x01000,
- ResourceEvent = 0x02000,
- TransformEvent = 0x04000,
- UserEvent = 0x09000,
- WandEvent = 0x10000,
- X11Event = 0x20000,
- AllEvents = 0x7fffffff
+ enum LogEventType
+ {
+ UndefinedEvents,
+ NoEvents = 0x00000,
+ TraceEvent = 0x00001,
+ AnnotateEvent = 0x00002,
+ BlobEvent = 0x00004,
+ CacheEvent = 0x00008,
+ CoderEvent = 0x00010,
+ ConfigureEvent = 0x00020,
+ DeprecateEvent = 0x00040,
+ DrawEvent = 0x00080,
+ ExceptionEvent = 0x00100,
+ ImageEvent = 0x00200,
+ LocaleEvent = 0x00400,
+ ModuleEvent = 0x00800,
+ PolicyEvent = 0x01000,
+ ResourceEvent = 0x02000,
+ TransformEvent = 0x04000,
+ UserEvent = 0x09000,
+ WandEvent = 0x10000,
+ X11Event = 0x20000,
+ AllEvents = 0x7fffffff
+ }
+ }
+ else
+ {
+ enum LogEventType
+ {
+ UndefinedEvents,
+ NoEvents = 0x00000,
+ TraceEvent = 0x00001,
+ AnnotateEvent = 0x00002,
+ BlobEvent = 0x00004,
+ CacheEvent = 0x00008,
+ CoderEvent = 0x00010,
+ ConfigureEvent = 0x00020,
+ DeprecateEvent = 0x00040,
+ DrawEvent = 0x00080,
+ ExceptionEvent = 0x00100,
+ LocaleEvent = 0x00200,
+ ModuleEvent = 0x00400,
+ PolicyEvent = 0x00800,
+ ResourceEvent = 0x01000,
+ TransformEvent = 0x02000,
+ UserEvent = 0x04000,
+ WandEvent = 0x08000,
+ X11Event = 0x10000,
+ AllEvents = 0x7fffffff
+ }
}
struct LogInfo {}
diff --git a/dmagick/c/magickVersion.d b/dmagick/c/magickVersion.d
index 34bf80b..f9ea9f2 100644
--- a/dmagick/c/magickVersion.d
+++ b/dmagick/c/magickVersion.d
@@ -1,5 +1,7 @@
module dmagick.c.magickVersion;
+import core.stdc.config;
+
extern(C)
{
version(MagickCore_663)
@@ -80,6 +82,15 @@ extern(C)
enum MagickLibVersionText = "6.7.3";
}
+ /*
+ * With ImageMagick 6.6.3 long and unsinged long were changed to
+ * ssize_t and size_t. This is only a problem for 64bits windows.
+ */
+ static if (MagickLibVersion < 0x663 && c_ulong.sizeof != size_t.sizeof)
+ {
+ static assert(0, "Only ImageMagick version 6.6.3 and up are supported on your platform");
+ }
+
char* GetMagickHomeURL();
const(char)* GetMagickCopyright();
diff --git a/dmagick/c/morphology.d b/dmagick/c/morphology.d
index b1067da..696fa7a 100644
--- a/dmagick/c/morphology.d
+++ b/dmagick/c/morphology.d
@@ -19,7 +19,14 @@ extern(C)
GaussianKernel, /* Convolution Kernels, Gaussian Based */
DoGKernel,
LoGKernel,
- BlurKernel,
+ BlurKernel,";
+
+ static if ( MagickLibVersion < 0x663 )
+ {
+ info ~= "DOBKernel,";
+ }
+
+ info ~= "
CometKernel,
LaplacianKernel, /* Convolution Kernels, by Name */
SobelKernel,
@@ -44,11 +51,27 @@ extern(C)
RingKernel,
PeaksKernel, /* Hit And Miss Kernels */
EdgesKernel,
- CornersKernel,
- ThinDiagonalsKernel,
+ CornersKernel,";
+
+ static if ( MagickLibVersion < 0x663 )
+ {
+ info ~= "RidgesKernel";
+ }
+ static if ( MagickLibVersion >= 0x663 )
+ {
+ info ~= "ThinDiagonalsKernel,";
+ }
+
+ info ~= "
LineEndsKernel,
- LineJunctionsKernel,
- RidgesKernel,
+ LineJunctionsKernel,";
+
+ static if ( MagickLibVersion >= 0x663 )
+ {
+ info ~= "RidgesKernel,";
+ }
+
+ info ~= "
ConvexHullKernel,
SkeletonKernel,
ChebyshevKernel, /* Distance Measuring Kernels */
diff --git a/dmagick/c/utility.d b/dmagick/c/utility.d
index b3ef1c2..e659aad 100644
--- a/dmagick/c/utility.d
+++ b/dmagick/c/utility.d
@@ -52,5 +52,9 @@ extern(C)
void ChopPathComponents(char*, const size_t);
void ExpandFilename(char*);
void GetPathComponent(const(char)*, PathType, char*);
- void MagickDelay(const MagickSizeType);
+
+ static if ( MagickLibVersion >= 0x663 )
+ {
+ void MagickDelay(const MagickSizeType);
+ }
}