]> granicus.if.org Git - imagemagick/blob - magick/composite.h
minor note
[imagemagick] / magick / composite.h
1 /*
2   Copyright 1999-2011 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 composite methods.
17 */
18 #ifndef _MAGICKCORE_COMPOSITE_H
19 #define _MAGICKCORE_COMPOSITE_H
20
21 #if defined(__cplusplus) || defined(c_plusplus)
22 extern "C" {
23 #endif
24
25 typedef enum
26 {
27   UndefinedCompositeOp,
28   NoCompositeOp,
29   ModulusAddCompositeOp,
30   AtopCompositeOp,
31   BlendCompositeOp,
32   BumpmapCompositeOp,
33   ChangeMaskCompositeOp,
34   ClearCompositeOp,
35   ColorBurnCompositeOp,
36   ColorDodgeCompositeOp,
37   ColorizeCompositeOp,
38   CopyBlackCompositeOp,
39   CopyBlueCompositeOp,
40   CopyCompositeOp,
41   CopyCyanCompositeOp,
42   CopyGreenCompositeOp,
43   CopyMagentaCompositeOp,
44   CopyOpacityCompositeOp,
45   CopyRedCompositeOp,
46   CopyYellowCompositeOp,
47   DarkenCompositeOp,
48   DstAtopCompositeOp,
49   DstCompositeOp,
50   DstInCompositeOp,
51   DstOutCompositeOp,
52   DstOverCompositeOp,
53   DifferenceCompositeOp,
54   DisplaceCompositeOp,
55   DissolveCompositeOp,
56   ExclusionCompositeOp,
57   HardLightCompositeOp,
58   HueCompositeOp,
59   InCompositeOp,
60   LightenCompositeOp,
61   LinearLightCompositeOp,
62   LuminizeCompositeOp,
63   MinusDstCompositeOp,
64   ModulateCompositeOp,
65   MultiplyCompositeOp,
66   OutCompositeOp,
67   OverCompositeOp,
68   OverlayCompositeOp,
69   PlusCompositeOp,
70   ReplaceCompositeOp,
71   SaturateCompositeOp,
72   ScreenCompositeOp,
73   SoftLightCompositeOp,
74   SrcAtopCompositeOp,
75   SrcCompositeOp,
76   SrcInCompositeOp,
77   SrcOutCompositeOp,
78   SrcOverCompositeOp,
79   ModulusSubtractCompositeOp,
80   ThresholdCompositeOp,
81   XorCompositeOp,
82   /* These are new operators, added after the above was last sorted.
83    * The list should be re-sorted only when a new library version is
84    * created.
85    */
86   DivideDstCompositeOp,
87   DistortCompositeOp,
88   BlurCompositeOp,
89   PegtopLightCompositeOp,
90   VividLightCompositeOp,
91   PinLightCompositeOp,
92   LinearDodgeCompositeOp,
93   LinearBurnCompositeOp,
94   MathematicsCompositeOp,
95   DivideSrcCompositeOp,
96   MinusSrcCompositeOp,
97   DarkenIntensityCompositeOp,
98   LightenIntensityCompositeOp
99 } CompositeOperator;
100
101 /* Depreciated (renamed) Method Names for backward compatibility
102  * However the CompositeOp value has not changed, just renamed.
103  */
104 #define AddCompositeOp       ModulusAddCompositeOp
105 #define SubtractCompositeOp  ModulusSubtractCompositeOp
106 #define MinusCompositeOp     MinusDstCompositeOp
107 #define DivideCompositeOp    DivideDstCompositeOp
108
109 extern MagickExport MagickBooleanType
110   CompositeImage(Image *,const CompositeOperator,const Image *,const ssize_t,
111     const ssize_t),
112   CompositeImageChannel(Image *,const ChannelType,const CompositeOperator,
113     const Image *,const ssize_t,const ssize_t),
114   TextureImage(Image *,const Image *);
115
116 #if defined(__cplusplus) || defined(c_plusplus)
117 }
118 #endif
119
120 #endif