MagickCore 6.9.13
Loading...
Searching...
No Matches
composite.h
1/*
2 Copyright 1999 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. You may
6 obtain a copy of the License at
7
8 https://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)
22extern "C" {
23#endif
24
25typedef 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 HardMixCompositeOp,
100 StereoCompositeOp
101} CompositeOperator;
102
103/* Deprecated (renamed) Method Names for backward compatibility
104 * However the CompositeOp value has not changed, just renamed.
105 */
106#define AddCompositeOp ModulusAddCompositeOp
107#define SubtractCompositeOp ModulusSubtractCompositeOp
108#define MinusCompositeOp MinusDstCompositeOp
109#define DivideCompositeOp DivideDstCompositeOp
110
111extern MagickExport MagickBooleanType
112 CompositeImage(Image *,const CompositeOperator,const Image *,const ssize_t,
113 const ssize_t),
114 CompositeImageChannel(Image *,const ChannelType,const CompositeOperator,
115 const Image *,const ssize_t,const ssize_t),
116 TextureImage(Image *,const Image *);
117
118#if defined(__cplusplus) || defined(c_plusplus)
119}
120#endif
121
122#endif