1 module dmagick.c.accelerate;
2 
3 import dmagick.c.colorspace;
4 import dmagick.c.composite;
5 import dmagick.c.exception;
6 import dmagick.c.fx;
7 import dmagick.c.geometry;
8 import dmagick.c.image;
9 import dmagick.c.magickType;
10 import dmagick.c.magickVersion;
11 import dmagick.c.morphology;
12 import dmagick.c.pixel;
13 import dmagick.c.statistic;
14 
15 extern(C)
16 {
17 	static if ( MagickLibVersion >= 0x689 )
18 	{
19 		MagickBooleanType AccelerateCompositeImage(Image*, const ChannelType, const CompositeOperator, const(Image)*, const ssize_t, const ssize_t, const float, const float, ExceptionInfo*);
20 		MagickBooleanType AccelerateContrastStretchImageChannel(Image*, const ChannelType, const double, const double, ExceptionInfo*);
21 		MagickBooleanType AccelerateGrayscaleImage(Image*, const PixelIntensityMethod, ExceptionInfo*);
22 	}
23 
24 	static if ( MagickLibVersion >= 0x689 && MagickLibVersion < 0x694 )
25 	{
26 		MagickBooleanType AccelerateRandomImage(Image*, ExceptionInfo*);
27 	}
28 
29 	static if ( MagickLibVersion >= 0x688 )
30 	{
31 		MagickBooleanType AccelerateContrastImage(Image*, const MagickBooleanType, ExceptionInfo*);
32 		MagickBooleanType AccelerateEqualizeImage(Image*, const ChannelType, ExceptionInfo*);
33 		MagickBooleanType AccelerateFunctionImage(Image*, const ChannelType, const MagickFunction, const size_t, const(double)*, ExceptionInfo*);
34 		MagickBooleanType AccelerateModulateImage(Image*, double, double, double, ColorspaceType, ExceptionInfo*);
35 	}
36 
37 	static if ( MagickLibVersion >= 0x688 )
38 	{
39 		Image* AccelerateAddNoiseImage(const(Image)*, const ChannelType, const NoiseType, ExceptionInfo*);
40 		Image* AccelerateBlurImage(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
41 	}
42 
43 	static if ( MagickLibVersion >= 0x687 )
44 	{
45 		Image* AccelerateConvolveImageChannel(const(Image)*, const ChannelType, const(KernelInfo)*, ExceptionInfo*);
46 		Image* AccelerateDespeckleImage(const(Image)*, ExceptionInfo*);
47 		Image* AccelerateRadialBlurImage(const(Image)*, const ChannelType, const double, ExceptionInfo*);
48 		//Image* AccelerateResizeImage(const(Image)*, const size_t, const size_t, const(ResizeFilter)*, ExceptionInfo*);
49 		Image* AccelerateUnsharpMaskImage(const(Image)*, const ChannelType, const double, const double, const double, const double, ExceptionInfo*);
50 	}
51 
52 	static if ( MagickLibVersion >= 0x694 )
53 	{
54 		Image* AccelerateWaveletDenoiseImage(const(Image)*, const double, ExceptionInfo*);
55 	}
56 
57 	static if ( MagickLibVersion >= 0x693 )
58 	{
59 		Image* AccelerateLocalContrastImage(const(Image)*, const double, const double, ExceptionInfo*);
60 	}
61 
62 	static if ( MagickLibVersion >= 0x689 )
63 	{
64 		Image* AccelerateMotionBlurImage(const Image*, const ChannelType, const(double)*, const size_t, const(OffsetInfo)*, ExceptionInfo*);
65 	}
66 
67 	/* legacy, do not use */
68 	MagickBooleanType AccelerateConvolveImage(const(Image)*, const(KernelInfo)*, Image*, ExceptionInfo*);
69 	static if ( MagickLibVersion >= 0x689 )
70 	{
71 		MagickBooleanType AccelerateNegateImageChannel(Image*, const ChannelType, const MagickBooleanType, ExceptionInfo*);
72 	}
73 }