[gimp] app: rename GimpLayerModeAffectMask to GimpLayerCompositeRegion



commit c78cecd76da2bcf7b43f46918ce1744c990e06ec
Author: Ell <ell_se yahoo com>
Date:   Sun May 7 15:42:22 2017 -0400

    app: rename GimpLayerModeAffectMask to GimpLayerCompositeRegion
    
    ... so that we can use it for other functions that involve
    compositing regions (which we do in the next commit).
    
    Rename gimp_operation_layer_mode_get_affect_mask() and
    friends to _get_affected_region().

 .../layer-modes/gimpoperationantierase.c           |   10 +++---
 app/operations/layer-modes/gimpoperationdissolve.c |   10 +++---
 .../layer-modes/gimpoperationlayermode.c           |   34 ++++++++++---------
 .../layer-modes/gimpoperationlayermode.h           |   12 +++---
 app/operations/layer-modes/gimpoperationreplace.c  |   18 +++++-----
 app/operations/operations-enums.h                  |   10 +++--
 6 files changed, 49 insertions(+), 45 deletions(-)
---
diff --git a/app/operations/layer-modes/gimpoperationantierase.c 
b/app/operations/layer-modes/gimpoperationantierase.c
index bd70ed6..572b800 100644
--- a/app/operations/layer-modes/gimpoperationantierase.c
+++ b/app/operations/layer-modes/gimpoperationantierase.c
@@ -28,7 +28,7 @@
 #include "gimpoperationantierase.h"
 
 
-static GimpLayerModeAffectMask gimp_operation_anti_erase_get_affect_mask (GimpOperationLayerMode 
*layer_mode);
+static GimpLayerCompositeRegion gimp_operation_anti_erase_get_affected_region (GimpOperationLayerMode 
*layer_mode);
 
 
 G_DEFINE_TYPE (GimpOperationAntiErase, gimp_operation_anti_erase,
@@ -53,7 +53,7 @@ gimp_operation_anti_erase_class_init (GimpOperationAntiEraseClass *klass)
 
   point_class->process = gimp_operation_anti_erase_process;
 
-  layer_mode_class->get_affect_mask = gimp_operation_anti_erase_get_affect_mask;
+  layer_mode_class->get_affected_region = gimp_operation_anti_erase_get_affected_region;
 }
 
 static void
@@ -178,8 +178,8 @@ gimp_operation_anti_erase_process (GeglOperation       *op,
   return TRUE;
 }
 
-static GimpLayerModeAffectMask
-gimp_operation_anti_erase_get_affect_mask (GimpOperationLayerMode *layer_mode)
+static GimpLayerCompositeRegion
+gimp_operation_anti_erase_get_affected_region (GimpOperationLayerMode *layer_mode)
 {
-  return GIMP_LAYER_MODE_AFFECT_SRC;
+  return GIMP_LAYER_COMPOSITE_REGION_SOURCE;
 }
diff --git a/app/operations/layer-modes/gimpoperationdissolve.c 
b/app/operations/layer-modes/gimpoperationdissolve.c
index e99ff5f..993c821 100644
--- a/app/operations/layer-modes/gimpoperationdissolve.c
+++ b/app/operations/layer-modes/gimpoperationdissolve.c
@@ -32,7 +32,7 @@
 #define RANDOM_TABLE_SIZE 4096
 
 
-static GimpLayerModeAffectMask gimp_operation_dissolve_get_affect_mask (GimpOperationLayerMode *layer_mode);
+static GimpLayerCompositeRegion gimp_operation_dissolve_get_affected_region (GimpOperationLayerMode 
*layer_mode);
 
 
 G_DEFINE_TYPE (GimpOperationDissolve, gimp_operation_dissolve,
@@ -63,7 +63,7 @@ gimp_operation_dissolve_class_init (GimpOperationDissolveClass *klass)
 
   point_composer_class->process = gimp_operation_dissolve_process;
 
-  layer_mode_class->get_affect_mask = gimp_operation_dissolve_get_affect_mask;
+  layer_mode_class->get_affected_region = gimp_operation_dissolve_get_affected_region;
 
   /* generate a table of random seeds */
   gr = g_rand_new_with_seed (314159265);
@@ -159,8 +159,8 @@ gimp_operation_dissolve_process (GeglOperation       *op,
   return TRUE;
 }
 
-static GimpLayerModeAffectMask
-gimp_operation_dissolve_get_affect_mask (GimpOperationLayerMode *layer_mode)
+GimpLayerCompositeRegion
+gimp_operation_dissolve_get_affected_region (GimpOperationLayerMode *layer_mode)
 {
-  return GIMP_LAYER_MODE_AFFECT_SRC;
+  return GIMP_LAYER_COMPOSITE_REGION_SOURCE;
 }
diff --git a/app/operations/layer-modes/gimpoperationlayermode.c 
b/app/operations/layer-modes/gimpoperationlayermode.c
index c9d18b5..505b32f 100644
--- a/app/operations/layer-modes/gimpoperationlayermode.c
+++ b/app/operations/layer-modes/gimpoperationlayermode.c
@@ -84,8 +84,8 @@ static gboolean gimp_operation_layer_mode_process      (GeglOperation          *
                                                         const GeglRectangle    *result,
                                                         gint                    level);
 
-static GimpLayerModeAffectMask
-        gimp_operation_layer_mode_real_get_affect_mask (GimpOperationLayerMode *layer_mode);
+static GimpLayerCompositeRegion
+    gimp_operation_layer_mode_real_get_affected_region (GimpOperationLayerMode *layer_mode);
 
 static inline void composite_func_src_atop_core     (gfloat *in,
                                                      gfloat *layer,
@@ -196,7 +196,7 @@ gimp_operation_layer_mode_class_init (GimpOperationLayerModeClass *klass)
   operation_class->process       = gimp_operation_layer_mode_process;
   point_composer3_class->process = gimp_operation_layer_mode_process_pixels;
 
-  klass->get_affect_mask = gimp_operation_layer_mode_real_get_affect_mask;
+  klass->get_affected_region     = gimp_operation_layer_mode_real_get_affected_region;
 
   g_object_class_install_property (object_class, PROP_LAYER_MODE,
                                    g_param_spec_enum ("layer-mode",
@@ -410,14 +410,15 @@ gimp_operation_layer_mode_process (GeglOperation        *operation,
           (point->composite_mode == GIMP_LAYER_COMPOSITE_SRC_OVER ||
            point->composite_mode == GIMP_LAYER_COMPOSITE_DST_ATOP))
         {
-          GimpLayerModeAffectMask affect_mask;
+          GimpLayerCompositeRegion affected_region;
 
-          affect_mask = gimp_operation_layer_mode_get_affect_mask (point);
+          affected_region =
+            gimp_operation_layer_mode_get_affected_region (point);
 
           /* ... and the op doesn't otherwise affect 'aux', or changes its
            * alpha ...
            */
-          if (! (affect_mask & GIMP_LAYER_MODE_AFFECT_SRC) &&
+          if (! (affected_region & GIMP_LAYER_COMPOSITE_REGION_SOURCE) &&
               point->opacity == 1.0                        &&
               ! gegl_operation_context_get_object (context, "aux2"))
             {
@@ -447,12 +448,13 @@ gimp_operation_layer_mode_process (GeglOperation        *operation,
       if (point->composite_mode == GIMP_LAYER_COMPOSITE_SRC_OVER ||
           point->composite_mode == GIMP_LAYER_COMPOSITE_SRC_ATOP)
         {
-          GimpLayerModeAffectMask affect_mask;
+          GimpLayerCompositeRegion affected_region;
 
-          affect_mask = gimp_operation_layer_mode_get_affect_mask (point);
+          affected_region =
+            gimp_operation_layer_mode_get_affected_region (point);
 
           /* ... and the op doesn't otherwise affect 'input' ... */
-          if (! (affect_mask & GIMP_LAYER_MODE_AFFECT_DST))
+          if (! (affected_region & GIMP_LAYER_COMPOSITE_REGION_DESTINATION))
             {
               /* pass 'input' directly as output; */
               gegl_operation_context_set_object (context, "output", input);
@@ -494,23 +496,23 @@ gimp_operation_layer_mode_process (GeglOperation        *operation,
                                                        level);
 }
 
-static GimpLayerModeAffectMask
-gimp_operation_layer_mode_real_get_affect_mask (GimpOperationLayerMode *layer_mode)
+static GimpLayerCompositeRegion
+gimp_operation_layer_mode_real_get_affected_region (GimpOperationLayerMode *layer_mode)
 {
   /* most modes only affect the overlapping regions. */
-  return GIMP_LAYER_MODE_AFFECT_NONE;
+  return GIMP_LAYER_COMPOSITE_REGION_INTERSECTION;
 }
 
 
 /* public functions */
 
-GimpLayerModeAffectMask
-gimp_operation_layer_mode_get_affect_mask (GimpOperationLayerMode *layer_mode)
+GimpLayerCompositeRegion
+gimp_operation_layer_mode_get_affected_region (GimpOperationLayerMode *layer_mode)
 {
   g_return_val_if_fail (GIMP_IS_OPERATION_LAYER_MODE (layer_mode),
-                        GIMP_LAYER_MODE_AFFECT_NONE);
+                        GIMP_LAYER_COMPOSITE_REGION_INTERSECTION);
 
-  return GIMP_OPERATION_LAYER_MODE_GET_CLASS (layer_mode)->get_affect_mask (layer_mode);
+  return GIMP_OPERATION_LAYER_MODE_GET_CLASS (layer_mode)->get_affected_region (layer_mode);
 }
 
 
diff --git a/app/operations/layer-modes/gimpoperationlayermode.h 
b/app/operations/layer-modes/gimpoperationlayermode.h
index c4383ca..4544f87 100644
--- a/app/operations/layer-modes/gimpoperationlayermode.h
+++ b/app/operations/layer-modes/gimpoperationlayermode.h
@@ -41,11 +41,11 @@ struct _GimpOperationLayerModeClass
 
   /*  virtual functions  */
 
-  /* Returns the set of inputs that the layer mode affects, apart
-   * from the overlapping regions.  Returns an empty set by default,
-   * which is suitable for almost all layer modes.
+  /* Returns the composite region (any combination of the layer and the
+   * backdrop) that the layer mode affects.  Most modes only affect the
+   * overlapping region, which is what the function returns by default.
    */
-  GimpLayerModeAffectMask (* get_affect_mask) (GimpOperationLayerMode *layer_mode);
+  GimpLayerCompositeRegion (* get_affected_region) (GimpOperationLayerMode *layer_mode);
 };
 
 
@@ -62,9 +62,9 @@ struct _GimpOperationLayerMode
 };
 
 
-GType                   gimp_operation_layer_mode_get_type        (void) G_GNUC_CONST;
+GType                    gimp_operation_layer_mode_get_type            (void) G_GNUC_CONST;
 
-GimpLayerModeAffectMask gimp_operation_layer_mode_get_affect_mask (GimpOperationLayerMode *layer_mode);
+GimpLayerCompositeRegion gimp_operation_layer_mode_get_affected_region (GimpOperationLayerMode *layer_mode);
 
 gboolean
 gimp_operation_layer_mode_process_pixels (GeglOperation       *operation,
diff --git a/app/operations/layer-modes/gimpoperationreplace.c 
b/app/operations/layer-modes/gimpoperationreplace.c
index 7da9fef..f82eac5 100644
--- a/app/operations/layer-modes/gimpoperationreplace.c
+++ b/app/operations/layer-modes/gimpoperationreplace.c
@@ -27,7 +27,7 @@
 #include "gimpoperationreplace.h"
 
 
-static GimpLayerModeAffectMask gimp_operation_replace_get_affect_mask (GimpOperationLayerMode *layer_mode);
+static GimpLayerCompositeRegion gimp_operation_replace_get_affected_region (GimpOperationLayerMode 
*layer_mode);
 
 
 G_DEFINE_TYPE (GimpOperationReplace, gimp_operation_replace,
@@ -52,7 +52,7 @@ gimp_operation_replace_class_init (GimpOperationReplaceClass *klass)
 
   point_class->process = gimp_operation_replace_process;
 
-  layer_mode_class->get_affect_mask = gimp_operation_replace_get_affect_mask;
+  layer_mode_class->get_affected_region = gimp_operation_replace_get_affected_region;
 }
 
 static void
@@ -195,17 +195,17 @@ gimp_operation_replace_process (GeglOperation       *op,
   return TRUE;
 }
 
-static GimpLayerModeAffectMask
-gimp_operation_replace_get_affect_mask (GimpOperationLayerMode *layer_mode)
+static GimpLayerCompositeRegion
+gimp_operation_replace_get_affected_region (GimpOperationLayerMode *layer_mode)
 {
-  GimpLayerModeAffectMask affect_mask = GIMP_LAYER_MODE_AFFECT_NONE;
+  GimpLayerCompositeRegion affected_region = GIMP_LAYER_COMPOSITE_REGION_INTERSECTION;
 
   if (layer_mode->opacity != 0.0)
-    affect_mask |= GIMP_LAYER_MODE_AFFECT_DST;
+    affected_region |= GIMP_LAYER_COMPOSITE_REGION_DESTINATION;
 
-  /* if opacity != 1.0, or we have a mask, thne we also affect SRC, but this is
-   * considered the case anyway, so no need for special handling.
+  /* if opacity != 1.0, or we have a mask, then we also affect SOURCE, but this
+   * is considered the case anyway, so no need for special handling.
    */
 
-  return affect_mask;
+  return affected_region;
 }
diff --git a/app/operations/operations-enums.h b/app/operations/operations-enums.h
index b121ee1..b7bd9c1 100644
--- a/app/operations/operations-enums.h
+++ b/app/operations/operations-enums.h
@@ -167,10 +167,12 @@ typedef enum  /*< pdb-skip >*/
 
 typedef enum  /*< pdb-skip, skip >*/
 {
-  GIMP_LAYER_MODE_AFFECT_NONE = 0,
-  GIMP_LAYER_MODE_AFFECT_DST  = 1 << 0,
-  GIMP_LAYER_MODE_AFFECT_SRC  = 1 << 1
-} GimpLayerModeAffectMask;
+  GIMP_LAYER_COMPOSITE_REGION_INTERSECTION = 0,
+  GIMP_LAYER_COMPOSITE_REGION_DESTINATION  = 1 << 0,
+  GIMP_LAYER_COMPOSITE_REGION_SOURCE       = 1 << 1,
+  GIMP_LAYER_COMPOSITE_REGION_UNION        = (GIMP_LAYER_COMPOSITE_REGION_DESTINATION |
+                                              GIMP_LAYER_COMPOSITE_REGION_SOURCE),
+} GimpLayerCompositeRegion;
 
 typedef enum  /*< pdb-skip, skip >*/
 {


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