summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dmagick/c/blob.d3
-rw-r--r--dmagick/c/cache.d5
-rw-r--r--dmagick/c/color.d1
-rw-r--r--dmagick/c/colorspace.d12
-rw-r--r--dmagick/c/composite.d3
-rw-r--r--dmagick/c/deprecate.d11
-rw-r--r--dmagick/c/draw.d22
-rw-r--r--dmagick/c/geometry.d23
-rw-r--r--dmagick/c/image.d6
-rw-r--r--dmagick/c/magickString.d17
-rw-r--r--dmagick/c/magickVersion.d48
-rw-r--r--dmagick/c/option.d10
-rw-r--r--dmagick/c/policy.d6
-rw-r--r--dmagick/c/resource.d3
-rw-r--r--dmagick/c/splayTree.d7
-rw-r--r--dmagick/c/threshold.d16
16 files changed, 179 insertions, 14 deletions
diff --git a/dmagick/c/blob.d b/dmagick/c/blob.d
index 60fee58..05bd3f8 100644
--- a/dmagick/c/blob.d
+++ b/dmagick/c/blob.d
@@ -13,7 +13,8 @@ extern(C)
{
ReadMode,
WriteMode,
- IOMode
+ IOMode,
+ PersistMode
}
FILE* GetBlobFileHandle(const(Image)*);
diff --git a/dmagick/c/cache.d b/dmagick/c/cache.d
index 4418a93..616fd57 100644
--- a/dmagick/c/cache.d
+++ b/dmagick/c/cache.d
@@ -26,6 +26,11 @@ extern(C)
CacheType GetImagePixelCacheType(const(Image)*);
}
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ const(char)* GetPixelCacheFilename(const(Image)*);
+ }
+
const(IndexPacket)* GetVirtualIndexQueue(const(Image)*);
const(PixelPacket)* GetVirtualPixels(const(Image)*, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo*);
diff --git a/dmagick/c/color.d b/dmagick/c/color.d
index 04b7aaf..9a36f4a 100644
--- a/dmagick/c/color.d
+++ b/dmagick/c/color.d
@@ -20,6 +20,7 @@ extern(C)
SVGCompliance = 0x0001,
X11Compliance = 0x0002,
XPMCompliance = 0x0004,
+ MVGCompliance = 0x0008,
AllCompliance = 0x7fffffff
}
diff --git a/dmagick/c/colorspace.d b/dmagick/c/colorspace.d
index e9e4fb7..b5519cc 100644
--- a/dmagick/c/colorspace.d
+++ b/dmagick/c/colorspace.d
@@ -204,9 +204,19 @@ extern(C)
* values derived from the tristimulus values X, Y and Z in the CIE XYZ
* color space.
*/
- xyYColorspace
+ xyYColorspace,
+
+ /**
+ * A linear version ofGRAYColorspace.
+ */
+ LinearGRAYColorspace
}
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ ColorspaceType GetImageColorspaceType(const(Image)* ,ExceptionInfo*);
+ }
+
MagickBooleanType RGBTransformImage(Image*, const ColorspaceType);
MagickBooleanType SetImageColorspace(Image*, const ColorspaceType);
diff --git a/dmagick/c/composite.d b/dmagick/c/composite.d
index 1e94a1e..c272564 100644
--- a/dmagick/c/composite.d
+++ b/dmagick/c/composite.d
@@ -445,6 +445,9 @@ extern(C)
/** */
HardMixCompositeOp,
+ /** */
+ StereoCompositeOp,
+
/* Depreciated (renamed) Method Names for backward compatibility */
AddCompositeOp = ModulusAddCompositeOp,
SubtractCompositeOp = ModulusSubtractCompositeOp,
diff --git a/dmagick/c/deprecate.d b/dmagick/c/deprecate.d
index 1a55ee5..82ddd2c 100644
--- a/dmagick/c/deprecate.d
+++ b/dmagick/c/deprecate.d
@@ -270,6 +270,11 @@ deprecated extern(C)
void ConstituteComponentTerminus();
}
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ void* CropImageToHBITMAP(Image*, const(RectangleInfo)*, ExceptionInfo*);
+ }
+
void* CloneMemory(void*, const(void)*, const size_t);
static if ( MagickLibVersion >= 0x655 )
@@ -296,6 +301,12 @@ deprecated extern(C)
}
void IdentityAffine(AffineMatrix*);
+
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ void* ImageToHBITMAP(Image*, ExceptionInfo*);
+ }
+
void LiberateMemory(void**);
void LiberateSemaphoreInfo(SemaphoreInfo**);
void FormatString(char*, const(char)*, ...);
diff --git a/dmagick/c/draw.d b/dmagick/c/draw.d
index 671a131..9f217fc 100644
--- a/dmagick/c/draw.d
+++ b/dmagick/c/draw.d
@@ -1,5 +1,6 @@
module dmagick.c.draw;
+import dmagick.c.color;
import dmagick.c.composite;
import dmagick.c.geometry;
import dmagick.c.image;
@@ -444,6 +445,21 @@ extern(C)
fill_opacity,
stroke_opacity;
}
+
+ static if (MagickLibVersion >= 0x699)
+ {
+ MagickBooleanType
+ clip_path;
+
+ Image*
+ clipping_mask;
+
+ ComplianceType
+ compliance;
+
+ Image*
+ composite_mask;
+ }
}
struct PrimitiveInfo
@@ -462,6 +478,12 @@ extern(C)
char*
text;
+
+ static if (MagickLibVersion >= 0x699)
+ {
+ MagickBooleanType
+ closed_subpath;
+ }
}
/**
diff --git a/dmagick/c/geometry.d b/dmagick/c/geometry.d
index fadd044..7170b37 100644
--- a/dmagick/c/geometry.d
+++ b/dmagick/c/geometry.d
@@ -29,18 +29,19 @@ extern(C)
XNegative = 0x0020,
PsiNegative = 0x0040,
- YNegative = 0x0040,
- ChiNegative = 0x0080,
- PercentValue = 0x1000, /* '%' percentage of something */
- AspectValue = 0x2000, /* '!' resize no-aspect - special use flag */
- NormalizeValue = 0x2000, /* '!' ScaleKernelValue() in morphology.c */
- LessValue = 0x4000, /* '<' resize smaller - special use flag */
- GreaterValue = 0x8000, /* '>' resize larger - spacial use flag */
- MinimumValue = 0x10000, /* '^' special handling needed */
+ YNegative = 0x0040,
+ ChiNegative = 0x0080,
+ PercentValue = 0x1000, /* '%' percentage of something */
+ AspectValue = 0x2000, /* '!' resize no-aspect - special use flag */
+ NormalizeValue = 0x2000, /* '!' ScaleKernelValue() in morphology.c */
+ LessValue = 0x4000, /* '<' resize smaller - special use flag */
+ GreaterValue = 0x8000, /* '>' resize larger - spacial use flag */
+ MinimumValue = 0x10000, /* '^' special handling needed */
CorrelateNormalizeValue = 0x10000, /* '^' see ScaleKernelValue() */
- AreaValue = 0x20000, /* '@' resize to area - special use flag */
- DecimalValue = 0x40000, /* '.' floating point numbers found */
- SeparatorValue = 0x80000, /* 'x' separator found */
+ AreaValue = 0x20000, /* '@' resize to area - special use flag */
+ DecimalValue = 0x40000, /* '.' floating point numbers found */
+ SeparatorValue = 0x80000, /* 'x' separator found */
+ AspectRatioValue = 0x100000, /* '~' special handling needed */
AllValues = 0x7fffffff
}
diff --git a/dmagick/c/image.d b/dmagick/c/image.d
index ab74432..8d7f8b9 100644
--- a/dmagick/c/image.d
+++ b/dmagick/c/image.d
@@ -687,6 +687,12 @@ extern(C)
MagickBooleanType ListMagickInfo(FILE*, ExceptionInfo*);
MagickBooleanType ModifyImage(Image**, ExceptionInfo*);
MagickBooleanType ResetImagePage(Image*, const(char)*);
+
+ static if (MagickLibVersion >= 0x699)
+ {
+ MagickBooleanType ResetImagePixels(Image*, ExceptionInfo*);
+ }
+
MagickBooleanType SetImageBackgroundColor(Image*);
MagickBooleanType SetImageClipMask(Image*, const(Image)*);
diff --git a/dmagick/c/magickString.d b/dmagick/c/magickString.d
index 8a718e6..9e9a3a6 100644
--- a/dmagick/c/magickString.d
+++ b/dmagick/c/magickString.d
@@ -23,6 +23,12 @@ extern(C)
size_t
length,
signature;
+
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ char*
+ name;
+ }
}
char* AcquireString(const(char)*);
@@ -45,6 +51,11 @@ extern(C)
char* StringToken(const(char)*, char**);
char** StringToList(const(char)*);
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ const(char)* GetStringInfoName(const(StringInfo)*);
+ }
+
const(char)* GetStringInfoPath(const(StringInfo)*);
static if ( MagickLibVersion >= 0x674 )
@@ -72,6 +83,12 @@ extern(C)
size_t CopyMagickString(char*, const(char)*, const size_t);
size_t GetStringInfoLength(const(StringInfo)*);
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ size_t SetStringInfoName(StringInfo* ,const(char)*);
+ }
+
+
ssize_t FormatMagickSize(const MagickSizeType, const MagickBooleanType, char*);
static if ( MagickLibVersion < 0x670 )
diff --git a/dmagick/c/magickVersion.d b/dmagick/c/magickVersion.d
new file mode 100644
index 0000000..42e177d
--- /dev/null
+++ b/dmagick/c/magickVersion.d
@@ -0,0 +1,48 @@
+module dmagick.c.magickVersion;
+
+import core.stdc.config;
+import core.stdc.stdio;
+
+/// Defines the version of ImageMagick where these headers are based on.
+enum MagickLibVersion = 0x707;
+///ditto
+enum MagickLibVersionText = "7.0.7";
+
+/// The quantum depth used by MagickCore.
+enum MagickQuantumDepth = 16;
+
+/// Defines if HDRI is enabled.
+enum MagickHDRISupport = true;
+
+/*
+ * 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");
+}
+
+extern(C)
+{
+ char* GetMagickHomeURL();
+
+ const(char)* GetMagickCopyright();
+
+ static if ( MagickLibVersion >= 0x681 )
+ {
+ const(char)* GetMagickDelegates();
+ }
+
+ const(char)* GetMagickFeatures();
+ const(char)* GetMagickPackageName();
+ const(char)* GetMagickQuantumDepth(size_t*);
+ const(char)* GetMagickQuantumRange(size_t*);
+ const(char)* GetMagickReleaseDate();
+ const(char)* GetMagickVersion(size_t*);
+
+ static if ( MagickLibVersion >= 0x681 )
+ {
+ void ListMagickVersion(FILE*);
+ }
+}
diff --git a/dmagick/c/option.d b/dmagick/c/option.d
index c21e6a4..3bf59bc 100644
--- a/dmagick/c/option.d
+++ b/dmagick/c/option.d
@@ -138,6 +138,16 @@ extern(C)
MagickWeightOptions,";
}
+ static if ( MagickLibVersion >= 0x693 )
+ {
+ options ~= "MagickComplianceOptions,";
+ }
+
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ options ~= "MagickAutoThresholdOptions";
+ }
+
options ~= "}";
return options;
diff --git a/dmagick/c/policy.d b/dmagick/c/policy.d
index 4459083..d652ed8 100644
--- a/dmagick/c/policy.d
+++ b/dmagick/c/policy.d
@@ -4,6 +4,7 @@ import core.stdc.stdio;
import dmagick.c.exception;
import dmagick.c.magickType;
+import dmagick.c.magickVersion;
extern(C)
{
@@ -39,5 +40,10 @@ extern(C)
MagickBooleanType ListPolicyInfo(FILE*, ExceptionInfo*);
MagickBooleanType PolicyComponentGenesis();
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ MagickBooleanType SetMagickSecurityPolicy(const(char)*, ExceptionInfo*);
+ }
+
void PolicyComponentTerminus();
}
diff --git a/dmagick/c/resource.d b/dmagick/c/resource.d
index bc771b6..98ee9b2 100644
--- a/dmagick/c/resource.d
+++ b/dmagick/c/resource.d
@@ -18,7 +18,8 @@ extern(C)
MemoryResource,
ThreadResource,
TimeResource,
- ThrottleResource
+ ThrottleResource,
+ ListLengthResource
}
int AcquireUniqueFileResource(char*);
diff --git a/dmagick/c/splayTree.d b/dmagick/c/splayTree.d
index 5a49b08..c463305 100644
--- a/dmagick/c/splayTree.d
+++ b/dmagick/c/splayTree.d
@@ -1,6 +1,7 @@
module dmagick.c.splayTree;
import dmagick.c.magickType;
+import dmagick.c.magickVersion;
extern(C)
{
@@ -12,6 +13,12 @@ extern(C)
const(void)* GetNextKeyInSplayTree(SplayTreeInfo*);
const(void)* GetNextValueInSplayTree(SplayTreeInfo*);
+
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ const(void)* GetRootValueFromSplayTree(SplayTreeInfo*);
+ }
+
const(void)* GetValueFromSplayTree(SplayTreeInfo*, const(void)*);
int CompareSplayTreeString(const(void)*, const(void)*);
diff --git a/dmagick/c/threshold.d b/dmagick/c/threshold.d
index 6b2052b..464f90e 100644
--- a/dmagick/c/threshold.d
+++ b/dmagick/c/threshold.d
@@ -11,6 +11,17 @@ alias ptrdiff_t ssize_t;
extern(C)
{
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ enum AutoThresholdMethod
+ {
+ UndefinedThresholdMethod,
+ KapurThresholdMethod,
+ OTSUThresholdMethod,
+ TriangleThresholdMethod
+ }
+ }
+
struct ThresholdMap {}
Image* AdaptiveThresholdImage(const(Image)*, const size_t, const size_t, const ssize_t, ExceptionInfo*);
@@ -18,6 +29,11 @@ extern(C)
ThresholdMap* DestroyThresholdMap(ThresholdMap*);
ThresholdMap* GetThresholdMap(const(char)*, ExceptionInfo*);
+ static if ( MagickLibVersion >= 0x699 )
+ {
+ MagickBooleanType AutoThresholdImage(Image*, const AutoThresholdMethod, ExceptionInfo*);
+ }
+
MagickBooleanType BilevelImage(Image*, const double);
MagickBooleanType BilevelImageChannel(Image*, const ChannelType, const double);
MagickBooleanType BlackThresholdImage(Image*, const(char)*);