MagickCore  6.9.12-67
Convert, Edit, Or Compose Bitmap Images
 All Data Structures
composite.h
1 /*
2  Copyright 1999-2021 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)
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  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 
111 extern 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
Definition: image.h:152