composite.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /*
  2. Copyright 1999 ImageMagick Studio LLC, a non-profit organization
  3. dedicated to making software imaging solutions freely available.
  4. You may not use this file except in compliance with the License. You may
  5. obtain a copy of the License at
  6. https://imagemagick.org/script/license.php
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. MagickCore image composite methods.
  13. */
  14. #ifndef MAGICKCORE_COMPOSITE_H
  15. #define MAGICKCORE_COMPOSITE_H
  16. #if defined(__cplusplus) || defined(c_plusplus)
  17. extern "C" {
  18. #endif
  19. typedef enum
  20. {
  21. UndefinedCompositeOp,
  22. NoCompositeOp,
  23. ModulusAddCompositeOp,
  24. AtopCompositeOp,
  25. BlendCompositeOp,
  26. BumpmapCompositeOp,
  27. ChangeMaskCompositeOp,
  28. ClearCompositeOp,
  29. ColorBurnCompositeOp,
  30. ColorDodgeCompositeOp,
  31. ColorizeCompositeOp,
  32. CopyBlackCompositeOp,
  33. CopyBlueCompositeOp,
  34. CopyCompositeOp,
  35. CopyCyanCompositeOp,
  36. CopyGreenCompositeOp,
  37. CopyMagentaCompositeOp,
  38. CopyOpacityCompositeOp,
  39. CopyRedCompositeOp,
  40. CopyYellowCompositeOp,
  41. DarkenCompositeOp,
  42. DstAtopCompositeOp,
  43. DstCompositeOp,
  44. DstInCompositeOp,
  45. DstOutCompositeOp,
  46. DstOverCompositeOp,
  47. DifferenceCompositeOp,
  48. DisplaceCompositeOp,
  49. DissolveCompositeOp,
  50. ExclusionCompositeOp,
  51. HardLightCompositeOp,
  52. HueCompositeOp,
  53. InCompositeOp,
  54. LightenCompositeOp,
  55. LinearLightCompositeOp,
  56. LuminizeCompositeOp,
  57. MinusDstCompositeOp,
  58. ModulateCompositeOp,
  59. MultiplyCompositeOp,
  60. OutCompositeOp,
  61. OverCompositeOp,
  62. OverlayCompositeOp,
  63. PlusCompositeOp,
  64. ReplaceCompositeOp,
  65. SaturateCompositeOp,
  66. ScreenCompositeOp,
  67. SoftLightCompositeOp,
  68. SrcAtopCompositeOp,
  69. SrcCompositeOp,
  70. SrcInCompositeOp,
  71. SrcOutCompositeOp,
  72. SrcOverCompositeOp,
  73. ModulusSubtractCompositeOp,
  74. ThresholdCompositeOp,
  75. XorCompositeOp,
  76. /* These are new operators, added after the above was last sorted.
  77. * The list should be re-sorted only when a new library version is
  78. * created.
  79. */
  80. DivideDstCompositeOp,
  81. DistortCompositeOp,
  82. BlurCompositeOp,
  83. PegtopLightCompositeOp,
  84. VividLightCompositeOp,
  85. PinLightCompositeOp,
  86. LinearDodgeCompositeOp,
  87. LinearBurnCompositeOp,
  88. MathematicsCompositeOp,
  89. DivideSrcCompositeOp,
  90. MinusSrcCompositeOp,
  91. DarkenIntensityCompositeOp,
  92. LightenIntensityCompositeOp,
  93. HardMixCompositeOp,
  94. StereoCompositeOp
  95. } CompositeOperator;
  96. /* Deprecated (renamed) Method Names for backward compatibility
  97. * However the CompositeOp value has not changed, just renamed.
  98. */
  99. #define AddCompositeOp ModulusAddCompositeOp
  100. #define SubtractCompositeOp ModulusSubtractCompositeOp
  101. #define MinusCompositeOp MinusDstCompositeOp
  102. #define DivideCompositeOp DivideDstCompositeOp
  103. extern MagickExport MagickBooleanType
  104. CompositeImage(Image *,const CompositeOperator,const Image *,const ssize_t,
  105. const ssize_t),
  106. CompositeImageChannel(Image *,const ChannelType,const CompositeOperator,
  107. const Image *,const ssize_t,const ssize_t),
  108. TextureImage(Image *,const Image *);
  109. #if defined(__cplusplus) || defined(c_plusplus)
  110. }
  111. #endif
  112. #endif