[gimp/pippin/linear-is-the-new-black] app: propagate layer modes composite_mode
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/pippin/linear-is-the-new-black] app: propagate layer modes composite_mode
- Date: Tue, 17 Jan 2017 21:45:52 +0000 (UTC)
commit df50720c68f7696ca345afec9b57e8889435bfd6
Author: Øyvind Kolås <pippin gimp org>
Date: Tue Jan 17 22:45:36 2017 +0100
app: propagate layer modes composite_mode
.../gimpoperationadditionlegacy.c | 23 ++++----
.../gimpoperationadditionlegacy.h | 3 +-
.../layer-modes-legacy/gimpoperationburnlegacy.c | 23 ++++----
.../layer-modes-legacy/gimpoperationburnlegacy.h | 3 +-
.../gimpoperationdarkenonlylegacy.c | 21 ++++----
.../gimpoperationdarkenonlylegacy.h | 3 +-
.../gimpoperationdifferencelegacy.c | 23 ++++----
.../gimpoperationdifferencelegacy.h | 3 +-
.../layer-modes-legacy/gimpoperationdividelegacy.c | 23 ++++----
.../layer-modes-legacy/gimpoperationdividelegacy.h | 3 +-
.../layer-modes-legacy/gimpoperationdodgelegacy.c | 23 ++++----
.../layer-modes-legacy/gimpoperationdodgelegacy.h | 3 +-
.../gimpoperationgrainextractlegacy.c | 23 ++++----
.../gimpoperationgrainextractlegacy.h | 3 +-
.../gimpoperationgrainmergelegacy.c | 23 ++++----
.../gimpoperationgrainmergelegacy.h | 3 +-
.../gimpoperationhardlightlegacy.c | 23 ++++----
.../gimpoperationhardlightlegacy.h | 3 +-
.../gimpoperationhsvcolorlegacy.c | 23 ++++----
.../gimpoperationhsvcolorlegacy.h | 3 +-
.../layer-modes-legacy/gimpoperationhsvhuelegacy.c | 23 ++++----
.../layer-modes-legacy/gimpoperationhsvhuelegacy.h | 3 +-
.../gimpoperationhsvsaturationlegacy.c | 23 ++++----
.../gimpoperationhsvsaturationlegacy.h | 3 +-
.../gimpoperationhsvvaluelegacy.c | 23 ++++----
.../gimpoperationhsvvaluelegacy.h | 3 +-
.../gimpoperationlightenonlylegacy.c | 23 ++++----
.../gimpoperationlightenonlylegacy.h | 3 +-
.../gimpoperationmultiplylegacy.c | 23 ++++----
.../gimpoperationmultiplylegacy.h | 3 +-
.../layer-modes-legacy/gimpoperationscreenlegacy.c | 21 ++++----
.../layer-modes-legacy/gimpoperationscreenlegacy.h | 3 +-
.../gimpoperationsoftlightlegacy.c | 21 ++++----
.../gimpoperationsoftlightlegacy.h | 3 +-
.../gimpoperationsubtractlegacy.c | 23 ++++----
.../gimpoperationsubtractlegacy.h | 3 +-
app/operations/layer-modes/gimpoperationaddition.c | 33 +++++------
app/operations/layer-modes/gimpoperationaddition.h | 21 ++++----
.../layer-modes/gimpoperationantierase.c | 23 ++++----
.../layer-modes/gimpoperationantierase.h | 21 ++++----
app/operations/layer-modes/gimpoperationbehind.c | 23 ++++----
app/operations/layer-modes/gimpoperationbehind.h | 21 ++++----
app/operations/layer-modes/gimpoperationburn.c | 32 +++++------
app/operations/layer-modes/gimpoperationburn.h | 21 ++++----
.../layer-modes/gimpoperationcolorerase.c | 23 ++++----
.../layer-modes/gimpoperationcolorerase.h | 3 +-
.../layer-modes/gimpoperationdarkenonly.c | 32 +++++------
.../layer-modes/gimpoperationdarkenonly.h | 3 +-
.../layer-modes/gimpoperationdifference.c | 32 +++++------
.../layer-modes/gimpoperationdifference.h | 3 +-
app/operations/layer-modes/gimpoperationdissolve.c | 23 ++++----
app/operations/layer-modes/gimpoperationdissolve.h | 3 +-
app/operations/layer-modes/gimpoperationdivide.c | 32 +++++------
app/operations/layer-modes/gimpoperationdivide.h | 3 +-
app/operations/layer-modes/gimpoperationdodge.c | 32 +++++------
app/operations/layer-modes/gimpoperationdodge.h | 3 +-
app/operations/layer-modes/gimpoperationerase.c | 23 ++++----
app/operations/layer-modes/gimpoperationerase.h | 3 +-
.../layer-modes/gimpoperationgrainextract.c | 32 +++++------
.../layer-modes/gimpoperationgrainextract.h | 3 +-
.../layer-modes/gimpoperationgrainmerge.c | 32 +++++------
.../layer-modes/gimpoperationgrainmerge.h | 3 +-
.../layer-modes/gimpoperationhardlight.c | 32 +++++------
.../layer-modes/gimpoperationhardlight.h | 3 +-
app/operations/layer-modes/gimpoperationhsvcolor.c | 32 +++++------
app/operations/layer-modes/gimpoperationhsvcolor.h | 3 +-
app/operations/layer-modes/gimpoperationhsvhue.c | 14 ++---
app/operations/layer-modes/gimpoperationhsvhue.h | 3 +-
.../layer-modes/gimpoperationhsvsaturation.c | 32 +++++------
.../layer-modes/gimpoperationhsvsaturation.h | 3 +-
app/operations/layer-modes/gimpoperationhsvvalue.c | 32 +++++------
app/operations/layer-modes/gimpoperationhsvvalue.h | 3 +-
.../layer-modes/gimpoperationlchchroma.c | 53 +++++++++----------
.../layer-modes/gimpoperationlchchroma.h | 6 ++-
app/operations/layer-modes/gimpoperationlchcolor.c | 53 +++++++++----------
app/operations/layer-modes/gimpoperationlchcolor.h | 6 ++-
app/operations/layer-modes/gimpoperationlchhue.c | 53 +++++++++----------
app/operations/layer-modes/gimpoperationlchhue.h | 6 ++-
.../layer-modes/gimpoperationlchlightness.c | 56 +++++++++-----------
.../layer-modes/gimpoperationlchlightness.h | 6 ++-
.../layer-modes/gimpoperationlightenonly.c | 32 +++++------
.../layer-modes/gimpoperationlightenonly.h | 3 +-
app/operations/layer-modes/gimpoperationmultiply.c | 32 +++++------
app/operations/layer-modes/gimpoperationmultiply.h | 3 +-
.../layer-modes/gimpoperationnormal-sse2.c | 25 +++++----
.../layer-modes/gimpoperationnormal-sse4.c | 24 +++++----
app/operations/layer-modes/gimpoperationnormal.c | 23 ++++----
app/operations/layer-modes/gimpoperationnormal.h | 9 ++-
app/operations/layer-modes/gimpoperationoverlay.c | 32 +++++------
app/operations/layer-modes/gimpoperationoverlay.h | 3 +-
app/operations/layer-modes/gimpoperationreplace.c | 23 ++++----
app/operations/layer-modes/gimpoperationreplace.h | 21 ++++----
app/operations/layer-modes/gimpoperationscreen.c | 32 +++++------
app/operations/layer-modes/gimpoperationscreen.h | 3 +-
.../layer-modes/gimpoperationsoftlight.c | 32 +++++------
.../layer-modes/gimpoperationsoftlight.h | 3 +-
app/operations/layer-modes/gimpoperationsubtract.c | 32 +++++------
app/operations/layer-modes/gimpoperationsubtract.h | 3 +-
app/operations/operations-types.h | 21 ++++----
99 files changed, 847 insertions(+), 850 deletions(-)
---
diff --git a/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.c
index 31feaf5..ebb7e76 100644
--- a/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.c
@@ -76,20 +76,21 @@ gimp_operation_addition_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_addition_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_addition_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_addition_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_addition_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.h
index a56aaf1..eb8e32a 100644
--- a/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationadditionlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_addition_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_ADDITION_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationburnlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationburnlegacy.c
index 760dbd5..1ed5d50 100644
--- a/app/operations/layer-modes-legacy/gimpoperationburnlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationburnlegacy.c
@@ -76,20 +76,21 @@ gimp_operation_burn_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_burn_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_burn_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_burn_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_burn_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationburnlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationburnlegacy.h
index 1ee5cad..3f253f9 100644
--- a/app/operations/layer-modes-legacy/gimpoperationburnlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationburnlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_burn_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_BURN_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.c
b/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.c
index 7c3b029..764b039 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.c
@@ -76,20 +76,21 @@ gimp_operation_darken_only_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_darken_only_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_darken_only_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
gimp_operation_darken_only_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.h
b/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.h
index 7e68cc8..502178d 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationdarkenonlylegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_darken_only_legacy_process_pixels (gfloat *
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DARKEN_ONLY_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.c
b/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.c
index 6385954..36143fa 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.c
@@ -76,20 +76,21 @@ gimp_operation_difference_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_difference_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_difference_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_difference_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_difference_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.h
b/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.h
index 26036f6..322eed0 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationdifferencelegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_difference_legacy_process_pixels (gfloat *i
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DIFFERENCE_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationdividelegacy.c
b/app/operations/layer-modes-legacy/gimpoperationdividelegacy.c
index c00d307..e82a901 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdividelegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationdividelegacy.c
@@ -76,20 +76,21 @@ gimp_operation_divide_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_divide_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_divide_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_divide_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_divide_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationdividelegacy.h
b/app/operations/layer-modes-legacy/gimpoperationdividelegacy.h
index 40ad846..a6d88d3 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdividelegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationdividelegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_divide_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DIVIDE_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.c
b/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.c
index 34fcf8b..024ecb6 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.c
@@ -76,20 +76,21 @@ gimp_operation_dodge_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_dodge_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_dodge_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_dodge_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_dodge_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.h
b/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.h
index 60ff7a3..7f9d126 100644
--- a/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationdodgelegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_dodge_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DODGE_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.c
index 877625a..47c379d 100644
--- a/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.c
@@ -76,20 +76,21 @@ gimp_operation_grain_extract_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_grain_extract_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_grain_extract_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_grain_extract_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_Trc)
+gimp_operation_grain_extract_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_Trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.h
index 5b6171e..28e9cb1 100644
--- a/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationgrainextractlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_grain_extract_legacy_process_pixels (gfloat
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_GRAIN_EXTRACT_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.c
b/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.c
index 3248936..d296611 100644
--- a/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.c
@@ -76,20 +76,21 @@ gimp_operation_grain_merge_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_grain_merge_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_grain_merge_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_grain_merge_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_grain_merge_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.h
b/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.h
index 534994b..4f4db94 100644
--- a/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationgrainmergelegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_grain_merge_legacy_process_pixels (gfloat *
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_GRAIN_MERGE_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.c
index fe12c16..6b7dc4c 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.c
@@ -76,20 +76,21 @@ gimp_operation_hardlight_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hardlight_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hardlight_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_hardlight_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hardlight_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.h
index 9b3b2b3..a704750 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationhardlightlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_hardlight_legacy_process_pixels (gfloat *in
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HARDLIGHT_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.c
index ff0766f..b653132 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.c
@@ -80,20 +80,21 @@ gimp_operation_hsv_color_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_color_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_color_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_hsv_color_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hsv_color_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.h
index a64e416..268654c 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvcolorlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_hsv_color_legacy_process_pixels (gfloat *in
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HSV_COLOR_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.c
b/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.c
index 71a9c50..5cd4cbd 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.c
@@ -80,20 +80,21 @@ gimp_operation_hsv_hue_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_hue_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_hue_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_hsv_hue_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hsv_hue_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.h
b/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.h
index fb64601..2b28563 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvhuelegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_hsv_hue_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.c
index 863386b..42ebe11 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.c
@@ -80,20 +80,21 @@ gimp_operation_hsv_saturation_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_saturation_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_saturation_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_hsv_saturation_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hsv_saturation_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.h
index 85500e3..0d913f9 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvsaturationlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_hsv_saturation_legacy_process_pixels (gfloat
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HSV_SATURATION_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.c
b/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.c
index 6bc97c4..6424b11 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.c
@@ -80,20 +80,21 @@ gimp_operation_hsv_value_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_value_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_value_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_hsv_value_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hsv_value_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.h
b/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.h
index 742b645..9d2794a 100644
--- a/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationhsvvaluelegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_hsv_value_legacy_process_pixels (gfloat *in
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HSV_VALUE_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.c
b/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.c
index 107cbd1..628c924 100644
--- a/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.c
@@ -76,20 +76,21 @@ gimp_operation_lighten_only_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_lighten_only_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_lighten_only_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_lighten_only_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lighten_only_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.h
b/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.h
index 84d5050..fa57ce0 100644
--- a/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationlightenonlylegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_lighten_only_legacy_process_pixels (gfloat
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_LIGHTEN_ONLY_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.c
b/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.c
index 73ac367..bdfed8b 100644
--- a/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.c
@@ -76,20 +76,21 @@ gimp_operation_multiply_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_multiply_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_multiply_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_multiply_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_multiply_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.h
b/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.h
index df38c93..26e20f7 100644
--- a/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationmultiplylegacy.h
@@ -58,6 +58,7 @@ gboolean gimp_operation_multiply_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_MULTIPLY_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.c
index 0716fc4..9023c9a 100644
--- a/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.c
@@ -76,20 +76,21 @@ gimp_operation_screen_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_screen_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_screen_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
gimp_operation_screen_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.h
index 4c11f9b..cc1e4cd 100644
--- a/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationscreenlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_screen_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_SCREEN_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.c
index dbd0053..c9950a4 100644
--- a/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.c
@@ -93,20 +93,21 @@ gimp_operation_softlight_legacy_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_softlight_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_softlight_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
gimp_operation_softlight_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.h
index 9ccb1c7..b918e51 100644
--- a/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationsoftlightlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_softlight_legacy_process_pixels (gfloat *in
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_SOFTLIGHT_LEGACY_H__ */
diff --git a/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.c
b/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.c
index 8a752b4..2c66bca 100644
--- a/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.c
+++ b/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.c
@@ -76,20 +76,21 @@ gimp_operation_subtract_legacy_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_subtract_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_subtract_legacy_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_subtract_legacy_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_subtract_legacy_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.h
b/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.h
index dbb5a37..582186a 100644
--- a/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.h
+++ b/app/operations/layer-modes-legacy/gimpoperationsubtractlegacy.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_subtract_legacy_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_SUBTRACT_LEGACY_H__ */
diff --git a/app/operations/layer-modes/gimpoperationaddition.c
b/app/operations/layer-modes/gimpoperationaddition.c
index cc87d9a..d975b3c 100644
--- a/app/operations/layer-modes/gimpoperationaddition.c
+++ b/app/operations/layer-modes/gimpoperationaddition.c
@@ -78,28 +78,25 @@ gimp_operation_addition_process (GeglOperation *operation,
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
return gimp_operation_addition_process_pixels (in_buf, aux_buf, aux2_buf,
out_buf, layer_mode->opacity, samples, roi, level,
- layer_mode->blend_trc, layer_mode->composite_trc);
+ layer_mode->blend_trc, layer_mode->composite_trc,
+ layer_mode->composite_mode);
}
gboolean
-gimp_operation_addition_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_addition_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_addition
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_addition);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationaddition.h
b/app/operations/layer-modes/gimpoperationaddition.h
index b376322..01f24bd 100644
--- a/app/operations/layer-modes/gimpoperationaddition.h
+++ b/app/operations/layer-modes/gimpoperationaddition.h
@@ -50,16 +50,17 @@ struct _GimpOperationAdditionClass
GType gimp_operation_addition_get_type (void) G_GNUC_CONST;
-gboolean gimp_operation_addition_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+gboolean gimp_operation_addition_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_ADDITION_H__ */
diff --git a/app/operations/layer-modes/gimpoperationantierase.c
b/app/operations/layer-modes/gimpoperationantierase.c
index 85c4bc4..40c1585 100644
--- a/app/operations/layer-modes/gimpoperationantierase.c
+++ b/app/operations/layer-modes/gimpoperationantierase.c
@@ -89,20 +89,21 @@ gimp_operation_anti_erase_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_anti_erase_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_anti_erase_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_anti_erase_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_anti_erase_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes/gimpoperationantierase.h
b/app/operations/layer-modes/gimpoperationantierase.h
index 4a81a2b..58e2d41 100644
--- a/app/operations/layer-modes/gimpoperationantierase.h
+++ b/app/operations/layer-modes/gimpoperationantierase.h
@@ -49,16 +49,17 @@ struct _GimpOperationAntiEraseClass
GType gimp_operation_anti_erase_get_type (void) G_GNUC_CONST;
-gboolean gimp_operation_anti_erase_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+gboolean gimp_operation_anti_erase_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_ANTI_ERASE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationbehind.c
b/app/operations/layer-modes/gimpoperationbehind.c
index 435b3a6..74afd0b 100644
--- a/app/operations/layer-modes/gimpoperationbehind.c
+++ b/app/operations/layer-modes/gimpoperationbehind.c
@@ -76,20 +76,21 @@ gimp_operation_behind_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_behind_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_behind_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_behind_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_behind_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes/gimpoperationbehind.h
b/app/operations/layer-modes/gimpoperationbehind.h
index 2aa387d..764f7f6 100644
--- a/app/operations/layer-modes/gimpoperationbehind.h
+++ b/app/operations/layer-modes/gimpoperationbehind.h
@@ -49,16 +49,17 @@ struct _GimpOperationBehindClass
GType gimp_operation_behind_get_type (void) G_GNUC_CONST;
-gboolean gimp_operation_behind_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+gboolean gimp_operation_behind_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_BEHIND_H__ */
diff --git a/app/operations/layer-modes/gimpoperationburn.c b/app/operations/layer-modes/gimpoperationburn.c
index d0bc08b..5fddf2a 100644
--- a/app/operations/layer-modes/gimpoperationburn.c
+++ b/app/operations/layer-modes/gimpoperationburn.c
@@ -77,29 +77,25 @@ gimp_operation_burn_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_burn_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_mode);
+ return gimp_operation_burn_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_mode, layer_mode->composite_mode);
}
gboolean
-gimp_operation_burn_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_burn_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_burn
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_burn);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationburn.h b/app/operations/layer-modes/gimpoperationburn.h
index 46b4d69..3804e22 100644
--- a/app/operations/layer-modes/gimpoperationburn.h
+++ b/app/operations/layer-modes/gimpoperationburn.h
@@ -50,16 +50,17 @@ struct _GimpOperationBurnClass
GType gimp_operation_burn_get_type (void) G_GNUC_CONST;
-gboolean gimp_operation_burn_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+gboolean gimp_operation_burn_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_BURN_H__ */
diff --git a/app/operations/layer-modes/gimpoperationcolorerase.c
b/app/operations/layer-modes/gimpoperationcolorerase.c
index a9d5084..06b8fec 100644
--- a/app/operations/layer-modes/gimpoperationcolorerase.c
+++ b/app/operations/layer-modes/gimpoperationcolorerase.c
@@ -80,20 +80,21 @@ gimp_operation_color_erase_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_color_erase_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_color_erase_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_color_erase_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_color_erase_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes/gimpoperationcolorerase.h
b/app/operations/layer-modes/gimpoperationcolorerase.h
index 8174e2a..e38decc 100644
--- a/app/operations/layer-modes/gimpoperationcolorerase.h
+++ b/app/operations/layer-modes/gimpoperationcolorerase.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_color_erase_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_COLOR_ERASE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationdarkenonly.c
b/app/operations/layer-modes/gimpoperationdarkenonly.c
index 7c7195d..627af49 100644
--- a/app/operations/layer-modes/gimpoperationdarkenonly.c
+++ b/app/operations/layer-modes/gimpoperationdarkenonly.c
@@ -77,27 +77,23 @@ gimp_operation_darken_only_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_darken_only_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_darken_only_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_darken_only_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_darken_only_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_darken_only
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_darken_only);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationdarkenonly.h
b/app/operations/layer-modes/gimpoperationdarkenonly.h
index dc5027d..8e394e8 100644
--- a/app/operations/layer-modes/gimpoperationdarkenonly.h
+++ b/app/operations/layer-modes/gimpoperationdarkenonly.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_darken_only_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DARKEN_ONLY_H__ */
diff --git a/app/operations/layer-modes/gimpoperationdifference.c
b/app/operations/layer-modes/gimpoperationdifference.c
index 98a5f6d..8244345 100644
--- a/app/operations/layer-modes/gimpoperationdifference.c
+++ b/app/operations/layer-modes/gimpoperationdifference.c
@@ -77,27 +77,23 @@ gimp_operation_difference_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_difference_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_difference_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_difference_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_difference_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_difference
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_difference);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationdifference.h
b/app/operations/layer-modes/gimpoperationdifference.h
index 2ed21f7..dfe1aa5 100644
--- a/app/operations/layer-modes/gimpoperationdifference.h
+++ b/app/operations/layer-modes/gimpoperationdifference.h
@@ -60,7 +60,8 @@ gboolean gimp_operation_difference_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DIFFERENCE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationdissolve.c
b/app/operations/layer-modes/gimpoperationdissolve.c
index ee3bf1a..38afe83 100644
--- a/app/operations/layer-modes/gimpoperationdissolve.c
+++ b/app/operations/layer-modes/gimpoperationdissolve.c
@@ -92,20 +92,21 @@ gimp_operation_dissolve_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*) operation;
- return gimp_operation_dissolve_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, result, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_dissolve_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, result, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_dissolve_process_pixels (gfloat *in,
- gfloat *aux,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *result,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_dissolve_process_pixels (gfloat *in,
+ gfloat *aux,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *result,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
gint x, y;
diff --git a/app/operations/layer-modes/gimpoperationdissolve.h
b/app/operations/layer-modes/gimpoperationdissolve.h
index 2f70aac..4e21a61 100644
--- a/app/operations/layer-modes/gimpoperationdissolve.h
+++ b/app/operations/layer-modes/gimpoperationdissolve.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_dissolve_process_pixels (gfloat *in,
const GeglRectangle *result,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DISSOLVE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationdivide.c
b/app/operations/layer-modes/gimpoperationdivide.c
index dc6b39a..e57d7c7 100644
--- a/app/operations/layer-modes/gimpoperationdivide.c
+++ b/app/operations/layer-modes/gimpoperationdivide.c
@@ -77,27 +77,23 @@ gimp_operation_divide_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_divide_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_divide_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_divide_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_divide_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_divide
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_divide);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationdivide.h
b/app/operations/layer-modes/gimpoperationdivide.h
index 6653f58..92b52cd 100644
--- a/app/operations/layer-modes/gimpoperationdivide.h
+++ b/app/operations/layer-modes/gimpoperationdivide.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_divide_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DIVIDE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationdodge.c b/app/operations/layer-modes/gimpoperationdodge.c
index f3acfec..025eb38 100644
--- a/app/operations/layer-modes/gimpoperationdodge.c
+++ b/app/operations/layer-modes/gimpoperationdodge.c
@@ -77,27 +77,23 @@ gimp_operation_dodge_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (void*)operation;
- return gimp_operation_dodge_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_dodge_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_dodge_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_dodge_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_dodge
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_dodge);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationdodge.h b/app/operations/layer-modes/gimpoperationdodge.h
index 5088e30..476fecb 100644
--- a/app/operations/layer-modes/gimpoperationdodge.h
+++ b/app/operations/layer-modes/gimpoperationdodge.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_dodge_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_DODGE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationerase.c b/app/operations/layer-modes/gimpoperationerase.c
index 6f994eb..922df8f 100644
--- a/app/operations/layer-modes/gimpoperationerase.c
+++ b/app/operations/layer-modes/gimpoperationerase.c
@@ -89,20 +89,21 @@ gimp_operation_erase_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_erase_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_erase_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_erase_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_erase_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes/gimpoperationerase.h b/app/operations/layer-modes/gimpoperationerase.h
index 999befd..a22213c 100644
--- a/app/operations/layer-modes/gimpoperationerase.h
+++ b/app/operations/layer-modes/gimpoperationerase.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_erase_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_ERASE_MODE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationgrainextract.c
b/app/operations/layer-modes/gimpoperationgrainextract.c
index 89ecda1..9f29b09 100644
--- a/app/operations/layer-modes/gimpoperationgrainextract.c
+++ b/app/operations/layer-modes/gimpoperationgrainextract.c
@@ -76,27 +76,23 @@ gimp_operation_grain_extract_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_grain_extract_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_grain_extract_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_grain_extract_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_grain_extract_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_grain_extract
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_grain_extract);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationgrainextract.h
b/app/operations/layer-modes/gimpoperationgrainextract.h
index 6712ebb..27bd07c 100644
--- a/app/operations/layer-modes/gimpoperationgrainextract.h
+++ b/app/operations/layer-modes/gimpoperationgrainextract.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_grain_extract_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_GRAIN_EXTRACT_H__ */
diff --git a/app/operations/layer-modes/gimpoperationgrainmerge.c
b/app/operations/layer-modes/gimpoperationgrainmerge.c
index 354b9bb..f15d58e 100644
--- a/app/operations/layer-modes/gimpoperationgrainmerge.c
+++ b/app/operations/layer-modes/gimpoperationgrainmerge.c
@@ -76,27 +76,23 @@ gimp_operation_grain_merge_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_grain_merge_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_grain_merge_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_grain_merge_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_grain_merge_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_grain_merge
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_grain_merge);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationgrainmerge.h
b/app/operations/layer-modes/gimpoperationgrainmerge.h
index 9f3e009..af77341 100644
--- a/app/operations/layer-modes/gimpoperationgrainmerge.h
+++ b/app/operations/layer-modes/gimpoperationgrainmerge.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_grain_merge_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_GRAIN_MERGE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationhardlight.c
b/app/operations/layer-modes/gimpoperationhardlight.c
index d9c8e2a..6127f1d 100644
--- a/app/operations/layer-modes/gimpoperationhardlight.c
+++ b/app/operations/layer-modes/gimpoperationhardlight.c
@@ -76,27 +76,23 @@ gimp_operation_hardlight_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hardlight_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hardlight_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_hardlight_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hardlight_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_hardlight
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_hardlight);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationhardlight.h
b/app/operations/layer-modes/gimpoperationhardlight.h
index 06d3307..55f734d 100644
--- a/app/operations/layer-modes/gimpoperationhardlight.h
+++ b/app/operations/layer-modes/gimpoperationhardlight.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_hardlight_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HARDLIGHT_H__ */
diff --git a/app/operations/layer-modes/gimpoperationhsvcolor.c
b/app/operations/layer-modes/gimpoperationhsvcolor.c
index c022c57..8c4ae94 100644
--- a/app/operations/layer-modes/gimpoperationhsvcolor.c
+++ b/app/operations/layer-modes/gimpoperationhsvcolor.c
@@ -81,27 +81,23 @@ gimp_operation_hsv_color_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_color_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_color_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_hsv_color_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hsv_color_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_hsv_color
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_hsv_color);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationhsvcolor.h
b/app/operations/layer-modes/gimpoperationhsvcolor.h
index 0df1e33..43e91ea 100644
--- a/app/operations/layer-modes/gimpoperationhsvcolor.h
+++ b/app/operations/layer-modes/gimpoperationhsvcolor.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_hsv_color_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HSV_COLOR_H__ */
diff --git a/app/operations/layer-modes/gimpoperationhsvhue.c
b/app/operations/layer-modes/gimpoperationhsvhue.c
index 473544e..159f015 100644
--- a/app/operations/layer-modes/gimpoperationhsvhue.c
+++ b/app/operations/layer-modes/gimpoperationhsvhue.c
@@ -81,7 +81,7 @@ gimp_operation_hsv_hue_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_hue_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_hue_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
@@ -94,14 +94,10 @@ gimp_operation_hsv_hue_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_hsv_hue
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_hsv_hue);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationhsvhue.h
b/app/operations/layer-modes/gimpoperationhsvhue.h
index c93f489..6fcd343 100644
--- a/app/operations/layer-modes/gimpoperationhsvhue.h
+++ b/app/operations/layer-modes/gimpoperationhsvhue.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_hsv_hue_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HSV_HUE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationhsvsaturation.c
b/app/operations/layer-modes/gimpoperationhsvsaturation.c
index 20b6f68..32ce7f2 100644
--- a/app/operations/layer-modes/gimpoperationhsvsaturation.c
+++ b/app/operations/layer-modes/gimpoperationhsvsaturation.c
@@ -80,27 +80,23 @@ gimp_operation_hsv_saturation_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_saturation_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_saturation_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_hsv_saturation_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hsv_saturation_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_hsv_saturation
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_hsv_saturation);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationhsvsaturation.h
b/app/operations/layer-modes/gimpoperationhsvsaturation.h
index 6bf4376..29bab15 100644
--- a/app/operations/layer-modes/gimpoperationhsvsaturation.h
+++ b/app/operations/layer-modes/gimpoperationhsvsaturation.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_hsv_saturation_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HSV_SATURATION_H__ */
diff --git a/app/operations/layer-modes/gimpoperationhsvvalue.c
b/app/operations/layer-modes/gimpoperationhsvvalue.c
index 3b829e5..f3ec3d1 100644
--- a/app/operations/layer-modes/gimpoperationhsvvalue.c
+++ b/app/operations/layer-modes/gimpoperationhsvvalue.c
@@ -80,27 +80,23 @@ gimp_operation_hsv_value_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_hsv_value_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_hsv_value_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_hsv_value_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_hsv_value_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_hsv_value
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_hsv_value);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationhsvvalue.h
b/app/operations/layer-modes/gimpoperationhsvvalue.h
index 1db363b..07012a2 100644
--- a/app/operations/layer-modes/gimpoperationhsvvalue.h
+++ b/app/operations/layer-modes/gimpoperationhsvvalue.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_hsv_value_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_HSV_VALUE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationlchchroma.c
b/app/operations/layer-modes/gimpoperationlchchroma.c
index 597feab..f446de5 100644
--- a/app/operations/layer-modes/gimpoperationlchchroma.c
+++ b/app/operations/layer-modes/gimpoperationlchchroma.c
@@ -83,7 +83,7 @@ gimp_operation_lch_chroma_process (GeglOperation *operation,
return (linear ? gimp_operation_lch_chroma_process_pixels_linear :
gimp_operation_lch_chroma_process_pixels)
- (in_buf, aux_buf, aux2_buf, out_buf, opacity, samples, roi, level, gimp_op->blend_trc,
gimp_op->composite_trc);
+ (in_buf, aux_buf, aux2_buf, out_buf, opacity, samples, roi, level, gimp_op->blend_trc,
gimp_op->composite_trc, gimp_op->composite_mode);
}
static void
@@ -124,16 +124,17 @@ chroma_pre_process (const Babl *from_fish,
/* XXX: this and pre_process should be removed */
gboolean
-gimp_operation_lch_chroma_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_chroma_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
static const Babl *from_fish = NULL;
static const Babl *to_fish = NULL;
@@ -150,23 +151,19 @@ gimp_operation_lch_chroma_process_pixels (gfloat *in,
}
gboolean
-gimp_operation_lch_chroma_process_pixels_linear (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_chroma_process_pixels_linear (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_lch_chroma
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_lch_chroma);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationlchchroma.h
b/app/operations/layer-modes/gimpoperationlchchroma.h
index 348e45c..86658d1 100644
--- a/app/operations/layer-modes/gimpoperationlchchroma.h
+++ b/app/operations/layer-modes/gimpoperationlchchroma.h
@@ -60,7 +60,8 @@ gboolean gimp_operation_lch_chroma_process_pixels_linear (gfloat *i
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
gboolean gimp_operation_lch_chroma_process_pixels (gfloat *in,
gfloat *layer,
@@ -71,7 +72,8 @@ gboolean gimp_operation_lch_chroma_process_pixels (gfloat *i
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_LCH_CHROMA_H__ */
diff --git a/app/operations/layer-modes/gimpoperationlchcolor.c
b/app/operations/layer-modes/gimpoperationlchcolor.c
index 6733dc6..43ecb8e 100644
--- a/app/operations/layer-modes/gimpoperationlchcolor.c
+++ b/app/operations/layer-modes/gimpoperationlchcolor.c
@@ -81,7 +81,7 @@ gimp_operation_lch_color_process (GeglOperation *operation,
return (gimp_op->linear ? gimp_operation_lch_color_process_pixels_linear :
gimp_operation_lch_color_process_pixels)
- (in_buf, aux_buf, aux2_buf, out_buf, gimp_op->opacity, samples, roi, level, gimp_op->blend_trc,
gimp_op->composite_trc);
+ (in_buf, aux_buf, aux2_buf, out_buf, gimp_op->opacity, samples, roi, level, gimp_op->blend_trc,
gimp_op->composite_trc, gimp_op->composite_mode);
}
static void
@@ -112,16 +112,17 @@ color_pre_process (const Babl *from_fish_la,
/* XXX: should be removed along with the pre_process fun */
gboolean
-gimp_operation_lch_color_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_color_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
static const Babl *from_fish_laba = NULL;
static const Babl *from_fish_la = NULL;
@@ -142,23 +143,19 @@ gimp_operation_lch_color_process_pixels (gfloat *in,
gboolean
-gimp_operation_lch_color_process_pixels_linear (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_color_process_pixels_linear (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_lch_color
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_lch_color);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationlchcolor.h
b/app/operations/layer-modes/gimpoperationlchcolor.h
index 22c33e0..51e396a 100644
--- a/app/operations/layer-modes/gimpoperationlchcolor.h
+++ b/app/operations/layer-modes/gimpoperationlchcolor.h
@@ -60,7 +60,8 @@ gboolean gimp_operation_lch_color_process_pixels_linear (gfloat *in
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
gboolean gimp_operation_lch_color_process_pixels (gfloat *in,
gfloat *layer,
@@ -71,7 +72,8 @@ gboolean gimp_operation_lch_color_process_pixels (gfloat *in
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_LCH_COLOR_H__ */
diff --git a/app/operations/layer-modes/gimpoperationlchhue.c
b/app/operations/layer-modes/gimpoperationlchhue.c
index e213168..226dd6e 100644
--- a/app/operations/layer-modes/gimpoperationlchhue.c
+++ b/app/operations/layer-modes/gimpoperationlchhue.c
@@ -82,7 +82,7 @@ gimp_operation_lch_hue_process (GeglOperation *operation,
return (layer_mode->linear ? gimp_operation_lch_hue_process_pixels_linear :
gimp_operation_lch_hue_process_pixels)
- (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity, samples, roi, level, layer_mode->blend_trc,
layer_mode->composite_trc);
+ (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity, samples, roi, level, layer_mode->blend_trc,
layer_mode->composite_trc, layer_mode->composite_mode);
}
static void
@@ -123,16 +123,17 @@ hue_pre_process (const Babl *from_fish,
/* XXX: this should be removed along with _pre_process */
gboolean
-gimp_operation_lch_hue_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_hue_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
static const Babl *from_fish = NULL;
static const Babl *to_fish = NULL;
@@ -150,23 +151,19 @@ gimp_operation_lch_hue_process_pixels (gfloat *in,
gboolean
-gimp_operation_lch_hue_process_pixels_linear (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_hue_process_pixels_linear (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_lch_hue
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_lch_hue);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationlchhue.h
b/app/operations/layer-modes/gimpoperationlchhue.h
index a6e61f6..7edf1e5 100644
--- a/app/operations/layer-modes/gimpoperationlchhue.h
+++ b/app/operations/layer-modes/gimpoperationlchhue.h
@@ -60,7 +60,8 @@ gboolean gimp_operation_lch_hue_process_pixels_linear (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
gboolean gimp_operation_lch_hue_process_pixels (gfloat *in,
gfloat *layer,
@@ -71,6 +72,7 @@ gboolean gimp_operation_lch_hue_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_LCH_HUE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationlchlightness.c
b/app/operations/layer-modes/gimpoperationlchlightness.c
index 4dafb11..6cd1e7f 100644
--- a/app/operations/layer-modes/gimpoperationlchlightness.c
+++ b/app/operations/layer-modes/gimpoperationlchlightness.c
@@ -79,9 +79,8 @@ gimp_operation_lch_lightness_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return (layer_mode->linear ? gimp_operation_lch_lightness_process_pixels_linear :
- gimp_operation_lch_lightness_process_pixels)
- (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity, samples, roi, level, layer_mode->blend_trc,
layer_mode->composite_trc);
+ return (layer_mode->linear ? gimp_operation_lch_lightness_process_pixels_linear :
gimp_operation_lch_lightness_process_pixels)
+ (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity, samples, roi, level, layer_mode->blend_trc,
layer_mode->composite_trc, layer_mode->composite_mode);
}
static void
@@ -107,16 +106,17 @@ lightness_pre_process (const Babl *from_fish_la,
/* XXX: this should be remove along with _pre_process */
gboolean
-gimp_operation_lch_lightness_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_lightness_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
static const Babl *from_fish_laba = NULL;
static const Babl *from_fish_la = NULL;
@@ -138,23 +138,19 @@ gimp_operation_lch_lightness_process_pixels (gfloat *in,
gboolean
-gimp_operation_lch_lightness_process_pixels_linear (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lch_lightness_process_pixels_linear (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_lch_lightness
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_lch_lightness);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationlchlightness.h
b/app/operations/layer-modes/gimpoperationlchlightness.h
index 29ef6da..4b97610 100644
--- a/app/operations/layer-modes/gimpoperationlchlightness.h
+++ b/app/operations/layer-modes/gimpoperationlchlightness.h
@@ -60,7 +60,8 @@ gboolean gimp_operation_lch_lightness_process_pixels_linear (gfloat
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
gboolean gimp_operation_lch_lightness_process_pixels (gfloat *in,
gfloat *layer,
@@ -71,7 +72,8 @@ gboolean gimp_operation_lch_lightness_process_pixels (gfloat
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_LCH_LIGHTNESS_H__ */
diff --git a/app/operations/layer-modes/gimpoperationlightenonly.c
b/app/operations/layer-modes/gimpoperationlightenonly.c
index 89ecb21..55d8c33 100644
--- a/app/operations/layer-modes/gimpoperationlightenonly.c
+++ b/app/operations/layer-modes/gimpoperationlightenonly.c
@@ -77,27 +77,23 @@ gimp_operation_lighten_only_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_lighten_only_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_lighten_only_process_pixels (in_buf, aux_buf, aux2_buf, out_buf,
layer_mode->opacity, samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc,
layer_mode->composite_mode);
}
gboolean
-gimp_operation_lighten_only_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_lighten_only_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_lighten_only
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_lighten_only);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationlightenonly.h
b/app/operations/layer-modes/gimpoperationlightenonly.h
index c3c1056..6c18e99 100644
--- a/app/operations/layer-modes/gimpoperationlightenonly.h
+++ b/app/operations/layer-modes/gimpoperationlightenonly.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_lighten_only_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_LIGHTEN_ONLY_H__ */
diff --git a/app/operations/layer-modes/gimpoperationmultiply.c
b/app/operations/layer-modes/gimpoperationmultiply.c
index bca7376..eb0532f 100644
--- a/app/operations/layer-modes/gimpoperationmultiply.c
+++ b/app/operations/layer-modes/gimpoperationmultiply.c
@@ -77,27 +77,23 @@ gimp_operation_multiply_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_multiply_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_multiply_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_multiply_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_multiply_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_multiply
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_multiply);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationmultiply.h
b/app/operations/layer-modes/gimpoperationmultiply.h
index 9e37dda..2d2bffa 100644
--- a/app/operations/layer-modes/gimpoperationmultiply.h
+++ b/app/operations/layer-modes/gimpoperationmultiply.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_multiply_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_MULTIPLY_H__ */
diff --git a/app/operations/layer-modes/gimpoperationnormal-sse2.c
b/app/operations/layer-modes/gimpoperationnormal-sse2.c
index c030f89..065dcc4 100644
--- a/app/operations/layer-modes/gimpoperationnormal-sse2.c
+++ b/app/operations/layer-modes/gimpoperationnormal-sse2.c
@@ -32,23 +32,26 @@
#include <emmintrin.h>
gboolean
-gimp_operation_normal_process_pixels_sse2 (gfloat *in,
- gfloat *aux,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_normal_process_pixels_sse2 (gfloat *in,
+ gfloat *aux,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
/* check alignment */
if ((((uintptr_t)in) | ((uintptr_t)aux) | ((uintptr_t)out)) & 0x0F)
{
return gimp_operation_normal_process_pixels_core (in, aux, mask, out,
opacity, samples,
- roi, level, blend_trc, composite_trc);
+ roi, level, blend_trc,
+ composite_trc,
+ composite_mode);
}
else
{
diff --git a/app/operations/layer-modes/gimpoperationnormal-sse4.c
b/app/operations/layer-modes/gimpoperationnormal-sse4.c
index 844255b..502d3a5 100644
--- a/app/operations/layer-modes/gimpoperationnormal-sse4.c
+++ b/app/operations/layer-modes/gimpoperationnormal-sse4.c
@@ -32,16 +32,17 @@
#include <smmintrin.h>
gboolean
-gimp_operation_normal_process_pixels_sse4 (gfloat *in,
- gfloat *aux,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_normal_process_pixels_sse4 (gfloat *in,
+ gfloat *aux,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
/* check alignment */
if ((((uintptr_t)in) | ((uintptr_t)aux) | ((uintptr_t)out)) & 0x0F)
@@ -49,7 +50,8 @@ gimp_operation_normal_process_pixels_sse4 (gfloat *in,
return gimp_operation_normal_process_pixels_core (in, aux, mask, out,
opacity, samples,
roi, level, blend_trc,
- composite_trc);
+ composite_trc,
+ composite_mode);
}
else
{
diff --git a/app/operations/layer-modes/gimpoperationnormal.c
b/app/operations/layer-modes/gimpoperationnormal.c
index b1a6b11..da9f5d4 100644
--- a/app/operations/layer-modes/gimpoperationnormal.c
+++ b/app/operations/layer-modes/gimpoperationnormal.c
@@ -174,20 +174,21 @@ gimp_operation_normal_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_normal_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_normal_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_normal_process_pixels_core (gfloat *in,
- gfloat *aux,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_normal_process_pixels_core (gfloat *in,
+ gfloat *aux,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes/gimpoperationnormal.h
b/app/operations/layer-modes/gimpoperationnormal.h
index c1ac4fb..f767ec6 100644
--- a/app/operations/layer-modes/gimpoperationnormal.h
+++ b/app/operations/layer-modes/gimpoperationnormal.h
@@ -60,7 +60,8 @@ gboolean gimp_operation_normal_process_pixels_core (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
gboolean gimp_operation_normal_process_pixels_sse2 (gfloat *in,
gfloat *aux,
@@ -71,7 +72,8 @@ gboolean gimp_operation_normal_process_pixels_sse2 (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
gboolean gimp_operation_normal_process_pixels_sse4 (gfloat *in,
gfloat *aux,
@@ -82,7 +84,8 @@ gboolean gimp_operation_normal_process_pixels_sse4 (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_NORMAL_H__ */
diff --git a/app/operations/layer-modes/gimpoperationoverlay.c
b/app/operations/layer-modes/gimpoperationoverlay.c
index 24fae12..e674f0e 100644
--- a/app/operations/layer-modes/gimpoperationoverlay.c
+++ b/app/operations/layer-modes/gimpoperationoverlay.c
@@ -76,28 +76,24 @@ gimp_operation_overlay_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_overlay_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_overlay_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_overlay_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_overlay_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_overlay
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_overlay);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationoverlay.h
b/app/operations/layer-modes/gimpoperationoverlay.h
index 4b0b394..c92d8bf 100644
--- a/app/operations/layer-modes/gimpoperationoverlay.h
+++ b/app/operations/layer-modes/gimpoperationoverlay.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_overlay_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_OVERLAY_H__ */
diff --git a/app/operations/layer-modes/gimpoperationreplace.c
b/app/operations/layer-modes/gimpoperationreplace.c
index 1cce3e1..12450ce 100644
--- a/app/operations/layer-modes/gimpoperationreplace.c
+++ b/app/operations/layer-modes/gimpoperationreplace.c
@@ -75,20 +75,21 @@ gimp_operation_replace_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_replace_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_replace_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_replace_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_replace_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
const gboolean has_mask = mask != NULL;
diff --git a/app/operations/layer-modes/gimpoperationreplace.h
b/app/operations/layer-modes/gimpoperationreplace.h
index 976d62b..ad34751 100644
--- a/app/operations/layer-modes/gimpoperationreplace.h
+++ b/app/operations/layer-modes/gimpoperationreplace.h
@@ -49,16 +49,17 @@ struct _GimpOperationReplaceClass
GType gimp_operation_replace_get_type (void) G_GNUC_CONST;
-gboolean gimp_operation_replace_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+gboolean gimp_operation_replace_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_REPLACE_H__ */
diff --git a/app/operations/layer-modes/gimpoperationscreen.c
b/app/operations/layer-modes/gimpoperationscreen.c
index 1948df0..90881be 100644
--- a/app/operations/layer-modes/gimpoperationscreen.c
+++ b/app/operations/layer-modes/gimpoperationscreen.c
@@ -77,28 +77,24 @@ gimp_operation_screen_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_screen_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_screen_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_screen_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_screen_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_screen
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_screen);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationscreen.h
b/app/operations/layer-modes/gimpoperationscreen.h
index 026896d..2bcb964 100644
--- a/app/operations/layer-modes/gimpoperationscreen.h
+++ b/app/operations/layer-modes/gimpoperationscreen.h
@@ -58,7 +58,8 @@ gboolean gimp_operation_screen_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_SCREEN_H__ */
diff --git a/app/operations/layer-modes/gimpoperationsoftlight.c
b/app/operations/layer-modes/gimpoperationsoftlight.c
index a3521b2..09f3085 100644
--- a/app/operations/layer-modes/gimpoperationsoftlight.c
+++ b/app/operations/layer-modes/gimpoperationsoftlight.c
@@ -93,27 +93,23 @@ gimp_operation_softlight_process (GeglOperation *operation,
gint level)
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_softlight_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_softlight_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_softlight_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_softlight_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_softlight
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples,
+ blend_trc, composite_trc, composite_mode, blendfun_softlight);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationsoftlight.h
b/app/operations/layer-modes/gimpoperationsoftlight.h
index 963800e..52162e7 100644
--- a/app/operations/layer-modes/gimpoperationsoftlight.h
+++ b/app/operations/layer-modes/gimpoperationsoftlight.h
@@ -58,6 +58,7 @@ gboolean gimp_operation_softlight_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_SOFTLIGHT_H__ */
diff --git a/app/operations/layer-modes/gimpoperationsubtract.c
b/app/operations/layer-modes/gimpoperationsubtract.c
index 780d59b..e8a1ade 100644
--- a/app/operations/layer-modes/gimpoperationsubtract.c
+++ b/app/operations/layer-modes/gimpoperationsubtract.c
@@ -77,27 +77,23 @@ gimp_operation_subtract_process (GeglOperation *operation,
{
GimpOperationPointLayerMode *layer_mode = (GimpOperationPointLayerMode*)operation;
- return gimp_operation_subtract_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc);
+ return gimp_operation_subtract_process_pixels (in_buf, aux_buf, aux2_buf, out_buf, layer_mode->opacity,
samples, roi, level, layer_mode->blend_trc, layer_mode->composite_trc, layer_mode->composite_mode);
}
gboolean
-gimp_operation_subtract_process_pixels (gfloat *in,
- gfloat *layer,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc)
+gimp_operation_subtract_process_pixels (gfloat *in,
+ gfloat *layer,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode)
{
- gimp_composite_blend (
- in, layer, mask, out, opacity, samples,
- blend_trc,
- composite_trc,
- GIMP_LAYER_COMPOSITE_SRC_ATOP,
- blendfun_subtract
- );
+ gimp_composite_blend (in, layer, mask, out, opacity, samples, blend_trc,
+ composite_trc, composite_mode, blendfun_subtract);
return TRUE;
}
diff --git a/app/operations/layer-modes/gimpoperationsubtract.h
b/app/operations/layer-modes/gimpoperationsubtract.h
index fa67cb2..11ae47a 100644
--- a/app/operations/layer-modes/gimpoperationsubtract.h
+++ b/app/operations/layer-modes/gimpoperationsubtract.h
@@ -59,7 +59,8 @@ gboolean gimp_operation_subtract_process_pixels (gfloat *in,
const GeglRectangle *roi,
gint level,
GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
#endif /* __GIMP_OPERATION_SUBTRACT_H__ */
diff --git a/app/operations/operations-types.h b/app/operations/operations-types.h
index 1f39bd1..8068d07 100644
--- a/app/operations/operations-types.h
+++ b/app/operations/operations-types.h
@@ -55,16 +55,17 @@ typedef struct _GimpCagePoint GimpCagePoint;
/* functions */
-typedef gboolean (* GimpLayerModeFunc) (gfloat *in,
- gfloat *aux,
- gfloat *mask,
- gfloat *out,
- gfloat opacity,
- glong samples,
- const GeglRectangle *roi,
- gint level,
- GimpLayerBlendTRC blend_trc,
- GimpLayerBlendTRC composite_trc);
+typedef gboolean (* GimpLayerModeFunc) (gfloat *in,
+ gfloat *aux,
+ gfloat *mask,
+ gfloat *out,
+ gfloat opacity,
+ glong samples,
+ const GeglRectangle *roi,
+ gint level,
+ GimpLayerBlendTRC blend_trc,
+ GimpLayerBlendTRC composite_trc,
+ GimpLayerCompositeMode composite_mode);
typedef void (* GimpBlendFunc) (const float *dest,
const float *src,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]