[gimp] app: implement the different composite modes for dissolve mode



commit 7a755d5b5284598668979c51f140face0da616cf
Author: Ell <ell_se yahoo com>
Date:   Fri Feb 17 12:13:33 2017 -0500

    app: implement the different composite modes for dissolve mode

 app/operations/layer-modes/gimpoperationdissolve.c |   22 ++++++++++++++++++-
 1 files changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/app/operations/layer-modes/gimpoperationdissolve.c 
b/app/operations/layer-modes/gimpoperationdissolve.c
index bd59ea8..e99ff5f 100644
--- a/app/operations/layer-modes/gimpoperationdissolve.c
+++ b/app/operations/layer-modes/gimpoperationdissolve.c
@@ -117,14 +117,32 @@ gimp_operation_dissolve_process (GeglOperation       *op,
               out[0] = in[0];
               out[1] = in[1];
               out[2] = in[2];
-              out[3] = in[3];
+
+              if (layer_mode->composite_mode == GIMP_LAYER_COMPOSITE_SRC_OVER ||
+                  layer_mode->composite_mode == GIMP_LAYER_COMPOSITE_SRC_ATOP)
+                {
+                  out[3] = in[3];
+                }
+              else
+                {
+                  out[3] = 0.0f;
+                }
             }
           else
             {
               out[0] = layer[0];
               out[1] = layer[1];
               out[2] = layer[2];
-              out[3] = 1.0;
+
+              if (layer_mode->composite_mode == GIMP_LAYER_COMPOSITE_SRC_OVER ||
+                  layer_mode->composite_mode == GIMP_LAYER_COMPOSITE_DST_ATOP)
+                {
+                  out[3] = 1.0f;
+                }
+              else
+                {
+                  out[3] = in[3];
+                }
             }
 
           in    += 4;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]