summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dmagick/Array.d8
-rw-r--r--dmagick/c/accelerate.d10
-rw-r--r--dmagick/c/colorspace.d9
-rw-r--r--dmagick/c/composite.d3
-rw-r--r--dmagick/c/deprecate.d11
-rw-r--r--dmagick/c/effect.d12
-rw-r--r--dmagick/c/exception.d7
-rw-r--r--dmagick/c/feature.d11
-rw-r--r--dmagick/c/image.d8
-rw-r--r--dmagick/c/magickType.d21
-rw-r--r--dmagick/c/magickVersion.d9
-rw-r--r--dmagick/c/matrix.d6
-rw-r--r--dmagick/c/option.d5
-rw-r--r--dmagick/c/pixel.d5
-rw-r--r--dmagick/c/statistic.d28
-rw-r--r--dmagick/c/utility.d5
16 files changed, 135 insertions, 23 deletions
diff --git a/dmagick/Array.d b/dmagick/Array.d
index de32f75..15078a2 100644
--- a/dmagick/Array.d
+++ b/dmagick/Array.d
@@ -413,7 +413,7 @@ void quantize(Image[] images, bool measureError = false)
linkImages(images);
scope(exit) unlinkImages(images);
- bool originalmeasureError = images[0].options.quantizeInfo.measure_error;
+ bool originalmeasureError = images[0].options.quantizeInfo.measure_error != 0;
images[0].options.quantizeInfo.measure_error = measureError;
scope(exit) images[0].options.quantizeInfo.measure_error = originalmeasureError;
@@ -620,9 +620,9 @@ void[] toBlob(Image[] images, string magick = null, size_t depth = 0, bool adjoi
images[0].filename = images[0].magick ~ ":";
scope(exit) images[0].filename = originalFilename;
- bool originalAdjoin = images[0].adjoin;
- images[0].adjoin = adjoin;
- scope(exit) images[0].adjoin = originalAdjoin;
+ bool originalAdjoin = images[0].options.imageInfo.adjoin != 0;
+ images[0].options.imageInfo.adjoin = adjoin;
+ scope(exit) images[0].options.imageInfo.adjoin = originalAdjoin;
linkImages(images);
scope(exit) unlinkImages(images);
diff --git a/dmagick/c/accelerate.d b/dmagick/c/accelerate.d
index 3f477f0..d001828 100644
--- a/dmagick/c/accelerate.d
+++ b/dmagick/c/accelerate.d
@@ -14,14 +14,11 @@ import dmagick.c.statistic;
extern(C)
{
- MagickBooleanType AccelerateConvolveImage(const(Image)*, const(KernelInfo)*, Image*, ExceptionInfo*);
-
static if ( MagickLibVersion >= 0x689 )
{
MagickBooleanType AccelerateCompositeImage(Image*, const ChannelType, const CompositeOperator, const(Image)*, const ssize_t, const ssize_t, const float, const float, ExceptionInfo*);
MagickBooleanType AccelerateContrastStretchImageChannel(Image*, const ChannelType, const double, const double, ExceptionInfo*);
MagickBooleanType AccelerateGrayscaleImage(Image*, const PixelIntensityMethod, ExceptionInfo*);
- MagickBooleanType AccelerateNegateImageChannel(Image*, const ChannelType, const MagickBooleanType, ExceptionInfo*);
MagickBooleanType AccelerateRandomImage(Image*, ExceptionInfo*);
}
@@ -48,4 +45,11 @@ extern(C)
{
Image* AccelerateMotionBlurImage(const Image*, const ChannelType, const(double)*, const size_t, const(OffsetInfo)*, ExceptionInfo*);
}
+
+ /* legacy, do not use */
+ MagickBooleanType AccelerateConvolveImage(const(Image)*, const(KernelInfo)*, Image*, ExceptionInfo*);
+ static if ( MagickLibVersion >= 0x689 )
+ {
+ MagickBooleanType AccelerateNegateImageChannel(Image*, const ChannelType, const MagickBooleanType, ExceptionInfo*);
+ }
}
diff --git a/dmagick/c/colorspace.d b/dmagick/c/colorspace.d
index 49944e4..30ba8da 100644
--- a/dmagick/c/colorspace.d
+++ b/dmagick/c/colorspace.d
@@ -195,7 +195,14 @@ extern(C)
HCLpColorspace,
/** */
- YDbDrColorspace
+ YDbDrColorspace,
+
+ /**
+ * In CIE xyY, Y is the luminance and x and y represents the chrominance
+ * values derived from the tristimulus values X, Y and Z in the CIE XYZ
+ * color space.
+ */
+ xyYColorspace
}
MagickBooleanType RGBTransformImage(Image*, const ColorspaceType);
diff --git a/dmagick/c/composite.d b/dmagick/c/composite.d
index 490e66f..1e94a1e 100644
--- a/dmagick/c/composite.d
+++ b/dmagick/c/composite.d
@@ -442,6 +442,9 @@ extern(C)
*/
LightenIntensityCompositeOp,
+ /** */
+ HardMixCompositeOp,
+
/* Depreciated (renamed) Method Names for backward compatibility */
AddCompositeOp = ModulusAddCompositeOp,
SubtractCompositeOp = ModulusSubtractCompositeOp,
diff --git a/dmagick/c/deprecate.d b/dmagick/c/deprecate.d
index 0be9391..b96499a 100644
--- a/dmagick/c/deprecate.d
+++ b/dmagick/c/deprecate.d
@@ -145,6 +145,11 @@ deprecated extern(C)
int GetImageGeometry(Image*, const(char)*, const uint, RectangleInfo*);
int ParseImageGeometry(const(char)*, ssize_t*, ssize_t*, size_t*, size_t*);
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ int SystemCommand(const MagickBooleanType, const MagickBooleanType, const(char)*, ExceptionInfo*);
+ }
+
MagickBooleanType AcquireOneCacheViewPixel(const(CacheView)*, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
MagickBooleanType AcquireOneCacheViewVirtualPixel(const(CacheView)*, const VirtualPixelMethod, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
MagickBooleanType AffinityImage(const(QuantizeInfo)*, Image*, const(Image)*);
@@ -277,6 +282,12 @@ deprecated extern(C)
void DestroyMagick();
void DestroyMagickRegistry();
void* GetConfigureBlob(const(char)*, char*, size_t*, ExceptionInfo*);
+
+ static if ( MagickLibVersion >= 0x689 )
+ {
+ void GetExceptionInfo(ExceptionInfo*);
+ }
+
void* GetMagickRegistry(const ssize_t, RegistryType*, size_t*, ExceptionInfo*);
void IdentityAffine(AffineMatrix*);
void LiberateMemory(void**);
diff --git a/dmagick/c/effect.d b/dmagick/c/effect.d
index 3e4e112..7932ba2 100644
--- a/dmagick/c/effect.d
+++ b/dmagick/c/effect.d
@@ -51,12 +51,6 @@ extern(C)
Image* AdaptiveSharpenImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
Image* BlurImage(const(Image)*, const double, const double, ExceptionInfo*);
Image* BlurImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
-
- static if ( MagickLibVersion >= 0x689 )
- {
- Image* CannyEdgeImage(const(Image)*, const double, const double, const double, const double, ExceptionInfo*);
- }
-
Image* ConvolveImage(const(Image)*, const size_t, const(double)*, ExceptionInfo*);
Image* ConvolveImageChannel(const(Image)*, const ChannelType, const size_t, const(double)*, ExceptionInfo*);
Image* DespeckleImage(const(Image)*, ExceptionInfo*);
@@ -67,6 +61,12 @@ extern(C)
Image* GaussianBlurImage(const(Image)*, const double, const double, ExceptionInfo*);
Image* GaussianBlurImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
+ static if ( MagickLibVersion >= 0x689 )
+ {
+ Image* KuwaharaImage(const(Image)*, const double, const double, ExceptionInfo*);
+ Image* KuwaharaImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
+ }
+
static if ( MagickLibVersion < 0x669 )
{
Image* MedianFilterImage(const(Image)*, const double, ExceptionInfo*);
diff --git a/dmagick/c/exception.d b/dmagick/c/exception.d
index 2e3642e..10b7824 100644
--- a/dmagick/c/exception.d
+++ b/dmagick/c/exception.d
@@ -134,7 +134,12 @@ extern(C)
void CatchException(ExceptionInfo*);
void ClearMagickException(ExceptionInfo*);
- void GetExceptionInfo(ExceptionInfo*);
+
+ static if ( MagickLibVersion < 0x689 )
+ {
+ void GetExceptionInfo(ExceptionInfo*);
+ }
+
void InheritException(ExceptionInfo*, const(ExceptionInfo)*);
void MagickError(const ExceptionType, const(char)*, const(char)*);
void MagickFatalError(const ExceptionType, const(char)*, const(char)*);
diff --git a/dmagick/c/feature.d b/dmagick/c/feature.d
index a877e49..e04603b 100644
--- a/dmagick/c/feature.d
+++ b/dmagick/c/feature.d
@@ -2,6 +2,7 @@ module dmagick.c.feature;
import dmagick.c.exception;
import dmagick.c.image;
+import dmagick.c.magickVersion;
extern(C)
{
@@ -25,4 +26,14 @@ extern(C)
}
ChannelFeatures* GetImageChannelFeatures(const(Image)*, const size_t, ExceptionInfo*);
+
+ static if ( MagickLibVersion >= 0x689 )
+ {
+ Image* CannyEdgeImage(const(Image)*, const double, const double, const double, const double, ExceptionInfo*);
+ }
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ Image* HoughLineImage(const(Image)*, const size_t, const size_t, const size_t, ExceptionInfo*);
+ Image* MeanShiftImage(const(Image)*, const size_t, const size_t, const double, ExceptionInfo*);
+ }
}
diff --git a/dmagick/c/image.d b/dmagick/c/image.d
index 71d6a3b..a7ec250 100644
--- a/dmagick/c/image.d
+++ b/dmagick/c/image.d
@@ -115,7 +115,13 @@ extern(C)
FlattenAlphaChannel,
/** ditto */
- RemoveAlphaChannel
+ RemoveAlphaChannel,
+
+ /** */
+ AssociateAlphaChannel,
+
+ /** */
+ DisassociateAlphaChannel
}
/**
diff --git a/dmagick/c/magickType.d b/dmagick/c/magickType.d
index 89e1cec..0fc0264 100644
--- a/dmagick/c/magickType.d
+++ b/dmagick/c/magickType.d
@@ -56,9 +56,16 @@ extern (C)
* a pixel channel.
*/
version(MagickCore_HDRI)
- alias float Quantum;
+ {
+ static if ( MagickLibVersion >= 0x690 )
+ alias double Quantum;
+ else
+ alias float Quantum;
+ }
else
+ {
alias uint Quantum;
+ }
alias double SignedQuantum;
@@ -87,8 +94,16 @@ extern (C)
* Quantum is an alias for the smallest integer that can hold
* a pixel channel.
*/
- alias double Quantum;
- alias double SignedQuantum;
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ alias real Quantum;
+ alias real SignedQuantum;
+ }
+ else
+ {
+ alias double Quantum;
+ alias double SignedQuantum;
+ }
//real seems to be the same size as long double for
//dmc and dmd on windows and for dmd and gcc on linux.
alias real MagickRealType;
diff --git a/dmagick/c/magickVersion.d b/dmagick/c/magickVersion.d
index 8898e5b..2af8257 100644
--- a/dmagick/c/magickVersion.d
+++ b/dmagick/c/magickVersion.d
@@ -208,13 +208,20 @@ extern(C)
///ditto
enum MagickLibVersionText = "6.8.8";
}
- else
+ else version(MagickCore_689)
{
/// Defines the version of ImageMagick where these headers are based on.
enum MagickLibVersion = 0x689;
///ditto
enum MagickLibVersionText = "6.8.9";
}
+ else
+ {
+ /// Defines the version of ImageMagick where these headers are based on.
+ enum MagickLibVersion = 0x690;
+ ///ditto
+ enum MagickLibVersionText = "6.9.0";
+ }
/*
* With ImageMagick 6.6.3 long and unsinged long were changed to
diff --git a/dmagick/c/matrix.d b/dmagick/c/matrix.d
index 52f2d14..bfc666f 100644
--- a/dmagick/c/matrix.d
+++ b/dmagick/c/matrix.d
@@ -1,6 +1,7 @@
module dmagick.c.matrix;
import dmagick.c.exception;
+import dmagick.c.image;
import dmagick.c.magickType;
import dmagick.c.magickVersion;
@@ -13,6 +14,11 @@ extern(C)
double** AcquireMagickMatrix(const size_t, const size_t);
double** RelinquishMagickMatrix(double**, const size_t);
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ Image* MatrixToImage(const(MatrixInfo)*, ExceptionInfo*);
+ }
+
MagickBooleanType GaussJordanElimination(double**, double**, const size_t, const size_t);
static if ( MagickLibVersion >= 0x669 )
diff --git a/dmagick/c/option.d b/dmagick/c/option.d
index cad6c0f..89e7246 100644
--- a/dmagick/c/option.d
+++ b/dmagick/c/option.d
@@ -234,6 +234,11 @@ extern(C)
ssize_t ParseMagickOption(const MagickOption, const MagickBooleanType,const(char)*);
}
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ MagickBooleanType IsOptionMember(const(char)*, const(char)*);
+ }
+
char* GetNextImageOption(const(ImageInfo)*);
char* RemoveImageOption(ImageInfo*, const(char)*);
diff --git a/dmagick/c/pixel.d b/dmagick/c/pixel.d
index 37ea3c5..34def12 100644
--- a/dmagick/c/pixel.d
+++ b/dmagick/c/pixel.d
@@ -181,5 +181,10 @@ extern(C)
MagickRealType GetPixelIntensity(const(Image)* image, const(PixelPacket)* restrict);
}
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ void ConformMagickPixelPacket(Image*, const(MagickPixelPacket)*, MagickPixelPacket*, ExceptionInfo*);
+ }
+
void GetMagickPixelPacket(const(Image)*, MagickPixelPacket*);
}
diff --git a/dmagick/c/statistic.d b/dmagick/c/statistic.d
index 485a152..a6e9d04 100644
--- a/dmagick/c/statistic.d
+++ b/dmagick/c/statistic.d
@@ -38,6 +38,11 @@ extern(C)
kurtosis,
skewness;
}
+
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ double entropy;
+ }
}
static if ( MagickLibVersion >= 0x689 )
@@ -102,7 +107,8 @@ extern(C)
AbsEvaluateOperator, /// Add value to pixels and return absolute value.
ExponentialEvaluateOperator, /// base-e exponential function.
MedianEvaluateOperator, /// Choose the median value from an image sequence.
- SumEvaluateOperator /// Add value to pixels.
+ SumEvaluateOperator, /// Add value to pixels.
+ RootMeanSquareEvaluateOperator ///
}
/**
@@ -134,7 +140,8 @@ extern(C)
MinimumStatistic, /// Minimum value per channel in neighborhood.
ModeStatistic, /// Mode (most frequent) value per channel in neighborhood.
NonpeakStatistic, /// Value just before or after the median value per channel in neighborhood.
- StandardDeviationStatistic ///
+ StandardDeviationStatistic, ///
+ RootMeanSquareStatistic ///
}
}
else
@@ -163,6 +170,11 @@ extern(C)
types ~= "StandardDeviationStatistic,";
}
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ types ~= "RootMeanSquareStatistic,";
+ }
+
types ~= "
}";
@@ -205,10 +217,22 @@ extern(C)
MagickBooleanType EvaluateImageChannel(Image*, const ChannelType, const MagickEvaluateOperator, const double, ExceptionInfo*);
MagickBooleanType FunctionImage(Image*, const MagickFunction, const size_t, const(double)*, ExceptionInfo*);
MagickBooleanType FunctionImageChannel(Image*, const ChannelType, const MagickFunction, const size_t, const(double)*, ExceptionInfo*);
+
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ MagickBooleanType GetImageChannelEntropy(const(Image)*, const ChannelType, double*, ExceptionInfo*);
+ }
+
MagickBooleanType GetImageChannelExtrema(const(Image)*, const ChannelType, size_t*, size_t*, ExceptionInfo*);
MagickBooleanType GetImageChannelMean(const(Image)*, const ChannelType, double*, double*, ExceptionInfo*);
MagickBooleanType GetImageChannelKurtosis(const(Image)*, const ChannelType, double*, double*, ExceptionInfo*);
MagickBooleanType GetImageChannelRange(const(Image)*, const ChannelType, double*, double*, ExceptionInfo*);
+
+ static if ( MagickLibVersion >= 0x690 )
+ {
+ MagickBooleanType GetImageEntropy(const(Image)*, double*, ExceptionInfo*);
+ }
+
MagickBooleanType GetImageExtrema(const(Image)*, size_t*, size_t*, ExceptionInfo*);
MagickBooleanType GetImageMean(const(Image)*, double*, double*, ExceptionInfo*);
MagickBooleanType GetImageKurtosis(const(Image)*, double*, double*, ExceptionInfo*);
diff --git a/dmagick/c/utility.d b/dmagick/c/utility.d
index b83d5ee..845be38 100644
--- a/dmagick/c/utility.d
+++ b/dmagick/c/utility.d
@@ -32,7 +32,10 @@ extern(C)
FILE* OpenMagickStream(const(char)*, const(char)*);
}
- int SystemCommand(const MagickBooleanType, const MagickBooleanType, const(char)*, ExceptionInfo*);
+ static if ( MagickLibVersion < 0x690 )
+ {
+ int SystemCommand(const MagickBooleanType, const MagickBooleanType, const(char)*, ExceptionInfo*);
+ }
MagickBooleanType AcquireUniqueFilename(char*);
MagickBooleanType AcquireUniqueSymbolicLink(const(char)*, char*);