summaryrefslogtreecommitdiff
path: root/dmagick/c/distort.d
diff options
context:
space:
mode:
Diffstat (limited to 'dmagick/c/distort.d')
-rw-r--r--dmagick/c/distort.d69
1 files changed, 46 insertions, 23 deletions
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*);
}