blob: c017ad54c7aad638b0f932e6b204d52ce9895fe8 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +00001/*
2 Copyright 1999-2009 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License.
6 obtain a copy of the License at
7
8 http://www.imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore image f/x methods.
17*/
18#ifndef _MAGICKCORE_FX_H
19#define _MAGICKCORE_FX_H
20
21#if defined(__cplusplus) || defined(c_plusplus)
22extern "C" {
23#endif
24
25#include "magick/draw.h"
26
27typedef enum
28{
29 UndefinedEvaluateOperator,
30 AddEvaluateOperator,
31 AndEvaluateOperator,
32 DivideEvaluateOperator,
33 LeftShiftEvaluateOperator,
34 MaxEvaluateOperator,
35 MinEvaluateOperator,
36 MultiplyEvaluateOperator,
37 OrEvaluateOperator,
38 RightShiftEvaluateOperator,
39 SetEvaluateOperator,
40 SubtractEvaluateOperator,
41 XorEvaluateOperator,
42 PowEvaluateOperator,
43 LogEvaluateOperator,
44 ThresholdEvaluateOperator,
45 ThresholdBlackEvaluateOperator,
46 ThresholdWhiteEvaluateOperator,
47 GaussianNoiseEvaluateOperator,
48 ImpulseNoiseEvaluateOperator,
49 LaplacianNoiseEvaluateOperator,
50 MultiplicativeNoiseEvaluateOperator,
51 PoissonNoiseEvaluateOperator,
52 UniformNoiseEvaluateOperator,
53 CosineEvaluateOperator,
54 SineEvaluateOperator,
55 AddModulusEvaluateOperator
56} MagickEvaluateOperator;
57
58typedef enum
59{
60 UndefinedFunction,
61 PolynomialFunction,
62 SinusoidFunction,
63 ArcsinFunction,
64 ArctanFunction
65} MagickFunction;
66
67typedef enum
68{
69 UndefinedNoise,
70 UniformNoise,
71 GaussianNoise,
72 MultiplicativeGaussianNoise,
73 ImpulseNoise,
74 LaplacianNoise,
75 PoissonNoise,
76 RandomNoise
77} NoiseType;
78
79extern MagickExport Image
80 *AddNoiseImage(const Image *,const NoiseType,ExceptionInfo *),
81 *AddNoiseImageChannel(const Image *,const ChannelType,const NoiseType,
82 ExceptionInfo *),
83 *BlueShiftImage(const Image *,const double,ExceptionInfo *),
84 *CharcoalImage(const Image *,const double,const double,ExceptionInfo *),
85 *ColorizeImage(const Image *,const char *,const PixelPacket,ExceptionInfo *),
86 *ConvolveImage(const Image *,const unsigned long,const double *,
87 ExceptionInfo *),
88 *ConvolveImageChannel(const Image *,const ChannelType,const unsigned long,
89 const double *,ExceptionInfo *),
90 *FxImage(const Image *,const char *,ExceptionInfo *),
91 *FxImageChannel(const Image *,const ChannelType,const char *,ExceptionInfo *),
92 *ImplodeImage(const Image *,const double,ExceptionInfo *),
93 *MorphImages(const Image *,const unsigned long,ExceptionInfo *),
94 *PolaroidImage(const Image *,const DrawInfo *,const double,ExceptionInfo *),
95 *RecolorImage(const Image *,const unsigned long,const double *,
96 ExceptionInfo *),
97 *SepiaToneImage(const Image *,const double,ExceptionInfo *),
98 *ShadowImage(const Image *,const double,const double,const long,const long,
99 ExceptionInfo *),
100 *SketchImage(const Image *,const double,const double,const double,
101 ExceptionInfo *),
102 *SteganoImage(const Image *,const Image *,ExceptionInfo *),
103 *StereoImage(const Image *,const Image *,ExceptionInfo *),
104 *StereoAnaglyphImage(const Image *,const Image *,const long,const long,
105 ExceptionInfo *),
106 *SwirlImage(const Image *,double,ExceptionInfo *),
107 *TintImage(const Image *,const char *,const PixelPacket,ExceptionInfo *),
108 *VignetteImage(const Image *,const double,const double,const long,
109 const long,ExceptionInfo *),
110 *WaveImage(const Image *,const double,const double,ExceptionInfo *);
111
112extern MagickExport MagickBooleanType
113 EvaluateImage(Image *,const MagickEvaluateOperator,const double,
114 ExceptionInfo *),
115 EvaluateImageChannel(Image *,const ChannelType,const MagickEvaluateOperator,
116 const double,ExceptionInfo *),
117 FunctionImage(Image *,const MagickFunction,const unsigned long,const double *,
118 ExceptionInfo *),
119 FunctionImageChannel(Image *,const ChannelType,const MagickFunction,
120 const unsigned long,const double *,ExceptionInfo *),
121 PlasmaImage(Image *,const SegmentInfo *,unsigned long,unsigned long),
122 SolarizeImage(Image *,const double);
123
124#if defined(__cplusplus) || defined(c_plusplus)
125}
126#endif
127
128#endif