1 module dmagick.c.effect;
2 
3 import dmagick.c.exception;
4 import dmagick.c.image;
5 import dmagick.c.magickType;
6 import dmagick.c.magickVersion;
7 import dmagick.c.morphology;
8 
9 extern(C)
10 {
11 	/**
12 	 * Image preview type.
13 	 */
14 	enum PreviewType
15 	{
16 		UndefinedPreview,       ///
17 		RotatePreview,          /// ditto
18 		ShearPreview,           /// ditto
19 		RollPreview,            /// ditto
20 		HuePreview,             /// ditto
21 		SaturationPreview,      /// ditto
22 		BrightnessPreview,      /// ditto
23 		GammaPreview,           /// ditto
24 		SpiffPreview,           /// ditto
25 		DullPreview,            /// ditto
26 		GrayscalePreview,       /// ditto
27 		QuantizePreview,        /// ditto
28 		DespecklePreview,       /// ditto
29 		ReduceNoisePreview,     /// ditto
30 		AddNoisePreview,        /// ditto
31 		SharpenPreview,         /// ditto
32 		BlurPreview,            /// ditto
33 		ThresholdPreview,       /// ditto
34 		EdgeDetectPreview,      /// ditto
35 		SpreadPreview,          /// ditto
36 		SolarizePreview,        /// ditto
37 		ShadePreview,           /// ditto
38 		RaisePreview,           /// ditto
39 		SegmentPreview,         /// ditto
40 		SwirlPreview,           /// ditto
41 		ImplodePreview,         /// ditto
42 		WavePreview,            /// ditto
43 		OilPaintPreview,        /// ditto
44 		CharcoalDrawingPreview, /// ditto
45 		JPEGPreview             /// ditto
46 	}
47 
48 	Image* AdaptiveBlurImage(const(Image)*, const double, const double, ExceptionInfo*);
49 	Image* AdaptiveBlurImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
50 	Image* AdaptiveSharpenImage(const(Image)*, const double, const double, ExceptionInfo*);
51 	Image* AdaptiveSharpenImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
52 	Image* BlurImage(const(Image)*, const double, const double, ExceptionInfo*);
53 	Image* BlurImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
54 	Image* ConvolveImage(const(Image)*, const size_t, const(double)*, ExceptionInfo*);
55 	Image* ConvolveImageChannel(const(Image)*, const ChannelType, const size_t, const(double)*, ExceptionInfo*);
56 	Image* DespeckleImage(const(Image)*, ExceptionInfo*);
57 	Image* EdgeImage(const(Image)*, const double, ExceptionInfo*);
58 	Image* EmbossImage(const(Image)*, const double, const double, ExceptionInfo*);
59 	Image* FilterImage(const(Image)*, const(KernelInfo)*, ExceptionInfo*);
60 	Image* FilterImageChannel(const(Image)*, const ChannelType, const(KernelInfo)*, ExceptionInfo*);
61 	Image* GaussianBlurImage(const(Image)*, const double, const double, ExceptionInfo*);
62 	Image* GaussianBlurImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
63 
64 	static if ( MagickLibVersion >= 0x689 )
65 	{
66 		Image* KuwaharaImage(const(Image)*, const double, const double, ExceptionInfo*);
67 		Image* KuwaharaImageChannel(const(Image)*, const ChannelType, const double, const double, ExceptionInfo*);
68 	}
69 
70 	static if ( MagickLibVersion >= 0x693 )
71 	{
72 		Image* LocalContrastImage(const(Image)*, const double, const double, ExceptionInfo*);
73 	}
74 
75 	static if ( MagickLibVersion < 0x669 )
76 	{
77 		Image* MedianFilterImage(const(Image)*, const double, ExceptionInfo*);
78 	}
79 
80 	static if ( MagickLibVersion == 0x668 )
81 	{
82 		Image* ModeImage(const(Image)*, const double, ExceptionInfo*);
83 	}
84 
85 	Image* MotionBlurImage(const(Image)*, const double, const double, const double, ExceptionInfo*);
86 	Image* MotionBlurImageChannel(const(Image)*, const ChannelType, const double, const double, const double, ExceptionInfo*);
87 	Image* PreviewImage(const(Image)*, const PreviewType, ExceptionInfo*);
88 	
89 	static if ( MagickLibVersion < 0x689 )
90 	{
91 		Image* RadialBlurImage(const(Image)*, const double, ExceptionInfo*);
92 		Image* RadialBlurImageChannel(const(Image)*, const ChannelType, const double, ExceptionInfo*);
93 	}
94 
95 	static if ( MagickLibVersion >= 0x689 )
96 	{
97 		Image* RotationalBlurImage(const(Image)*, const double, ExceptionInfo*);
98 		Image* RotationalBlurImageChannel(const(Image)*, const ChannelType, const double, ExceptionInfo*);
99 	}
100 
101 	static if ( MagickLibVersion < 0x669 )
102 	{
103 		Image* ReduceNoiseImage(const(Image)*, const double, ExceptionInfo*);
104 	}
105 
106 	Image* SelectiveBlurImage(const(Image)*, const double, const double, const double, ExceptionInfo*);
107 	Image* SelectiveBlurImageChannel(const(Image)*, const ChannelType, const double, const double, const double, ExceptionInfo*);
108 	Image* ShadeImage(const(Image)*, const MagickBooleanType, const double, const double, ExceptionInfo*);
109 	Image* SharpenImage(const(Image)*, const double, const double, ExceptionInfo*);
110 	Image* SharpenImageChannel(const(Image)*, const ChannelType ,const double, const double, ExceptionInfo*);
111 	Image* SpreadImage(const(Image)*, const double, ExceptionInfo*);
112 	Image* UnsharpMaskImage(const(Image)*, const double, const double, const double, const double, ExceptionInfo*);
113 	Image* UnsharpMaskImageChannel(const(Image)*, const ChannelType, const double, const double, const double, const double, ExceptionInfo*);
114 }