diff options
| author | Mike Wey | 2011-09-11 11:38:32 +0200 |
|---|---|---|
| committer | Mike Wey | 2011-09-11 11:38:32 +0200 |
| commit | b636368a771c4b7791244d308529bd9d44abfe99 (patch) | |
| tree | f01f3352872dc183987cefb678c5d80a4284ff63 /dmagick/c/morphology.d | |
| parent | e60ae744596ca4e22ffa6097d65f50b2b5661f60 (diff) | |
Version the Headers so DMagick can be used with older versions of MagickCore.
Diffstat (limited to 'dmagick/c/morphology.d')
| -rw-r--r-- | dmagick/c/morphology.d | 86 |
1 files changed, 49 insertions, 37 deletions
diff --git a/dmagick/c/morphology.d b/dmagick/c/morphology.d index fa6ffd3..c48c6ba 100644 --- a/dmagick/c/morphology.d +++ b/dmagick/c/morphology.d @@ -6,47 +6,59 @@ import dmagick.c.exception; import dmagick.c.geometry; import dmagick.c.image; import dmagick.c.magickType; +import dmagick.c.magickVersion; extern(C) { - enum KernelInfoType + mixin( { - UndefinedKernel, /* equivelent to UnityKernel */ - UnityKernel, /* The no-op or 'original image' kernel */ - GaussianKernel, /* Convolution Kernels, Gaussian Based */ - DoGKernel, - LoGKernel, - BlurKernel, - CometKernel, - LaplacianKernel, /* Convolution Kernels, by Name */ - SobelKernel, - FreiChenKernel, - RobertsKernel, - PrewittKernel, - CompassKernel, - KirschKernel, - DiamondKernel, /* Shape Kernels */ - SquareKernel, - RectangleKernel, - OctagonKernel, - DiskKernel, - PlusKernel, - CrossKernel, - RingKernel, - PeaksKernel, /* Hit And Miss Kernels */ - EdgesKernel, - CornersKernel, - ThinDiagonalsKernel, - LineEndsKernel, - LineJunctionsKernel, - RidgesKernel, - ConvexHullKernel, - SkeletonKernel, - ChebyshevKernel, /* Distance Measuring Kernels */ - ManhattanKernel, - EuclideanKernel, - UserDefinedKernel /* User Specified Kernel Array */ - } + string info = "enum KernelInfoType + { + UndefinedKernel, /* equivelent to UnityKernel */ + UnityKernel, /* The no-op or 'original image' kernel */ + GaussianKernel, /* Convolution Kernels, Gaussian Based */ + DoGKernel, + LoGKernel, + BlurKernel, + CometKernel, + LaplacianKernel, /* Convolution Kernels, by Name */ + SobelKernel, + FreiChenKernel, + RobertsKernel, + PrewittKernel, + CompassKernel, + KirschKernel, + DiamondKernel, /* Shape Kernels */ + SquareKernel, + RectangleKernel,"; + + static if ( MagickLibVersion >= 0x670 ) + { + info ~= "OctagonKernel,"; + } + + info ~= " + DiskKernel, + PlusKernel, + CrossKernel, + RingKernel, + PeaksKernel, /* Hit And Miss Kernels */ + EdgesKernel, + CornersKernel, + ThinDiagonalsKernel, + LineEndsKernel, + LineJunctionsKernel, + RidgesKernel, + ConvexHullKernel, + SkeletonKernel, + ChebyshevKernel, /* Distance Measuring Kernels */ + ManhattanKernel, + EuclideanKernel, + UserDefinedKernel /* User Specified Kernel Array */ + }"; + + return info; + }()); enum MorphologyMethod { |
