From b636368a771c4b7791244d308529bd9d44abfe99 Mon Sep 17 00:00:00 2001 From: Mike Wey Date: Sun, 11 Sep 2011 11:38:32 +0200 Subject: Version the Headers so DMagick can be used with older versions of MagickCore. --- dmagick/c/distort.d | 69 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 46 insertions(+), 23 deletions(-) (limited to 'dmagick/c/distort.d') diff --git a/dmagick/c/distort.d b/dmagick/c/distort.d index 5bdd2e2..98e800c 100644 --- a/dmagick/c/distort.d +++ b/dmagick/c/distort.d @@ -3,32 +3,50 @@ module dmagick.c.distort; import dmagick.c.exception; import dmagick.c.image; import dmagick.c.magickType; +import dmagick.c.magickVersion; extern(C) { - enum DistortImageMethod + mixin( { - UndefinedDistortion, - AffineDistortion, - AffineProjectionDistortion, - ScaleRotateTranslateDistortion, - PerspectiveDistortion, - PerspectiveProjectionDistortion, - BilinearForwardDistortion, - BilinearDistortion = BilinearForwardDistortion, - BilinearReverseDistortion, - PolynomialDistortion, - ArcDistortion, - PolarDistortion, - DePolarDistortion, - Cylinder2PlaneDistortion, - Plane2CylinderDistortion, - BarrelDistortion, - BarrelInverseDistortion, - ShepardsDistortion, - ResizeDistortion, - SentinelDistortion - } + string methods = "enum DistortImageMethod + { + UndefinedDistortion, + AffineDistortion, + AffineProjectionDistortion, + ScaleRotateTranslateDistortion, + PerspectiveDistortion, + PerspectiveProjectionDistortion, + BilinearForwardDistortion, + BilinearDistortion = BilinearForwardDistortion, + BilinearReverseDistortion, + PolynomialDistortion, + ArcDistortion, + PolarDistortion, + DePolarDistortion,"; + + static if ( MagickLibVersion >= 0x671 ) + { + methods ~= "Cylinder2PlaneDistortion, + Plane2CylinderDistortion,"; + } + + methods ~= " + BarrelDistortion, + BarrelInverseDistortion, + ShepardsDistortion,"; + + static if ( MagickLibVersion >= 0x670 ) + { + methods ~= "ResizeDistortion,"; + } + + methods ~= " + SentinelDistortion + }"; + + return methods; + }()); enum SparseColorMethod { @@ -43,6 +61,11 @@ extern(C) } Image* DistortImage(const(Image)*, const DistortImageMethod, const size_t, const(double)*, MagickBooleanType, ExceptionInfo* exception); - Image* DistortResizeImage(const(Image)*, const size_t, const size_t, ExceptionInfo*); + + static if ( MagickLibVersion >= 0x670 ) + { + Image* DistortResizeImage(const(Image)*, const size_t, const size_t, ExceptionInfo*); + } + Image* SparseColorImage(const(Image)*, const ChannelType, const SparseColorMethod, const size_t, const(double)*, ExceptionInfo*); } -- cgit v1.2.3