app, pdb, libgimp, plug-ins, menus: rename layer composite modes

Our composite modes don't correspond directly to the Porter-Duff
operators after which they're named, and these names aren't too
descriptive anyway.

Rename the composite modes as follows:

  Source Over       =>  Union
  Source Atop       =>  Clip to Backdrop
  Destination Atop  =>  Clip to Layer
  Source In         =>  Intersection

Update relevant code, including UI text, enumerator names, function
names, and action names.
This commit is contained in:
Ell 2018-03-14 14:52:10 -04:00
parent d29facda23
commit a7f3a2dd9f
24 changed files with 416 additions and 408 deletions

View File

@ -385,28 +385,28 @@ static const GimpRadioActionEntry layers_composite_mode_actions[] =
GIMP_LAYER_COMPOSITE_AUTO, GIMP_LAYER_COMPOSITE_AUTO,
NULL }, NULL },
{ "layers-composite-mode-src-over", NULL, { "layers-composite-mode-union", NULL,
NC_("layers-action", "Source Over"), NULL, NC_("layers-action", "Union"), NULL,
NC_("layers-action", "Layer Composite Mode: Source Over"), NC_("layers-action", "Layer Composite Mode: Union"),
GIMP_LAYER_COMPOSITE_SRC_OVER, GIMP_LAYER_COMPOSITE_UNION,
NULL }, NULL },
{ "layers-composite-mode-src-atop", NULL, { "layers-composite-mode-clip-to-backdrop", NULL,
NC_("layers-action", "Source Atop"), NULL, NC_("layers-action", "Clip to Backdrop"), NULL,
NC_("layers-action", "Layer Composite Mode: Source Atop"), NC_("layers-action", "Layer Composite Mode: Clip to Backdrop"),
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
NULL }, NULL },
{ "layers-composite-mode-src-in", NULL, { "layers-composite-mode-clip-to-layer", NULL,
NC_("layers-action", "Source In"), NULL, NC_("layers-action", "Clip to Layer"), NULL,
NC_("layers-action", "Layer Composite Mode: Source In"), NC_("layers-action", "Layer Composite Mode: Clip to Layer"),
GIMP_LAYER_COMPOSITE_SRC_IN, GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER,
NULL }, NULL },
{ "layers-composite-mode-dst-atop", NULL, { "layers-composite-mode-intersection", NULL,
NC_("layers-action", "Destination Atop"), NULL, NC_("layers-action", "Intersection"), NULL,
NC_("layers-action", "Layer Composite Mode: Destination Atop"), NC_("layers-action", "Layer Composite Mode: Intersection"),
GIMP_LAYER_COMPOSITE_DST_ATOP, GIMP_LAYER_COMPOSITE_INTERSECTION,
NULL } NULL }
}; };
@ -823,14 +823,14 @@ layers_actions_update (GimpActionGroup *group,
{ {
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
action = "layers-composite-mode-auto"; break; action = "layers-composite-mode-auto"; break;
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
action = "layers-composite-mode-src-over"; break; action = "layers-composite-mode-union"; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
action = "layers-composite-mode-src-atop"; break; action = "layers-composite-mode-clip-to-backdrop"; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
action = "layers-composite-mode-src-in"; break; action = "layers-composite-mode-clip-to-layer"; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_INTERSECTION:
action = "layers-composite-mode-dst-atop"; break; action = "layers-composite-mode-intersection"; break;
} }
gimp_action_group_set_action_active (group, action, TRUE); gimp_action_group_set_action_active (group, action, TRUE);
@ -969,11 +969,11 @@ layers_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("layers-composite-space-rgb-linear", layer && cs_mutable); SET_SENSITIVE ("layers-composite-space-rgb-linear", layer && cs_mutable);
SET_SENSITIVE ("layers-composite-space-rgb-perceptual", layer && cs_mutable); SET_SENSITIVE ("layers-composite-space-rgb-perceptual", layer && cs_mutable);
SET_SENSITIVE ("layers-composite-mode-auto", layer && cm_mutable); SET_SENSITIVE ("layers-composite-mode-auto", layer && cm_mutable);
SET_SENSITIVE ("layers-composite-mode-src-over", layer && cm_mutable); SET_SENSITIVE ("layers-composite-mode-union", layer && cm_mutable);
SET_SENSITIVE ("layers-composite-mode-src-atop", layer && cm_mutable); SET_SENSITIVE ("layers-composite-mode-clip-to-backdrop", layer && cm_mutable);
SET_SENSITIVE ("layers-composite-mode-src-in", layer && cm_mutable); SET_SENSITIVE ("layers-composite-mode-clip-to-layer", layer && cm_mutable);
SET_SENSITIVE ("layers-composite-mode-dst-atop", layer && cm_mutable); SET_SENSITIVE ("layers-composite-mode-intersection", layer && cm_mutable);
SET_SENSITIVE ("layers-mask-add", layer && !fs && !ac && !mask); SET_SENSITIVE ("layers-mask-add", layer && !fs && !ac && !mask);
SET_SENSITIVE ("layers-mask-add-button", layer && !fs && !ac); SET_SENSITIVE ("layers-mask-add-button", layer && !fs && !ac);

View File

@ -1128,8 +1128,8 @@ gimp_group_layer_get_effective_mode (GimpLayer *layer,
* - the group has a single active child; or, * - the group has a single active child; or,
* *
* - the effective mode of all the active children is normal, their * - the effective mode of all the active children is normal, their
* effective composite mode is src-over, and their effective * effective composite mode is UNION, and their effective blend and
* blend and composite spaces are equal; * composite spaces are equal;
* *
* - and, * - and,
* *
@ -1178,7 +1178,7 @@ gimp_group_layer_get_effective_mode (GimpLayer *layer,
GimpLayerCompositeMode other_composite_mode; GimpLayerCompositeMode other_composite_mode;
if (*mode != GIMP_LAYER_MODE_NORMAL || if (*mode != GIMP_LAYER_MODE_NORMAL ||
*composite_mode != GIMP_LAYER_COMPOSITE_SRC_OVER) *composite_mode != GIMP_LAYER_COMPOSITE_UNION)
{ {
reduce = FALSE; reduce = FALSE;

View File

@ -2635,7 +2635,7 @@ gimp_layer_get_composite_mode (GimpLayer *layer)
GimpLayerCompositeMode GimpLayerCompositeMode
gimp_layer_get_real_composite_mode (GimpLayer *layer) gimp_layer_get_real_composite_mode (GimpLayer *layer)
{ {
g_return_val_if_fail (GIMP_IS_LAYER (layer), GIMP_LAYER_COMPOSITE_SRC_OVER); g_return_val_if_fail (GIMP_IS_LAYER (layer), GIMP_LAYER_COMPOSITE_UNION);
if (layer->composite_mode == GIMP_LAYER_COMPOSITE_AUTO) if (layer->composite_mode == GIMP_LAYER_COMPOSITE_AUTO)
return gimp_layer_mode_get_composite_mode (layer->mode); return gimp_layer_mode_get_composite_mode (layer->mode);

View File

@ -62,8 +62,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -73,8 +73,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE | .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER .composite_mode = GIMP_LAYER_COMPOSITE_UNION
}, },
{ GIMP_LAYER_MODE_BEHIND_LEGACY, { GIMP_LAYER_MODE_BEHIND_LEGACY,
@ -86,8 +86,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_PAINT | .context = GIMP_LAYER_MODE_CONTEXT_PAINT |
GIMP_LAYER_MODE_CONTEXT_FADE, GIMP_LAYER_MODE_CONTEXT_FADE,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -99,8 +99,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -113,8 +113,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -127,8 +127,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -141,8 +141,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -155,8 +155,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -169,8 +169,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -183,8 +183,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -197,8 +197,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -211,8 +211,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -225,8 +225,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -239,8 +239,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -253,8 +253,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -267,8 +267,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -281,8 +281,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -295,8 +295,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -309,8 +309,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -323,8 +323,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -337,8 +337,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -351,8 +351,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -368,8 +368,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_SUBTRACTIVE, GIMP_LAYER_MODE_FLAG_SUBTRACTIVE,
.context = GIMP_LAYER_MODE_CONTEXT_PAINT | .context = GIMP_LAYER_MODE_CONTEXT_PAINT |
GIMP_LAYER_MODE_CONTEXT_FADE, GIMP_LAYER_MODE_CONTEXT_FADE,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -379,8 +379,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_overlay, .blend_function = gimp_operation_layer_mode_blend_overlay,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -391,8 +391,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_lch_hue, .blend_function = gimp_operation_layer_mode_blend_lch_hue,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_LAB .blend_space = GIMP_LAYER_COLOR_SPACE_LAB
}, },
@ -403,8 +403,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_lch_chroma, .blend_function = gimp_operation_layer_mode_blend_lch_chroma,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_LAB .blend_space = GIMP_LAYER_COLOR_SPACE_LAB
}, },
@ -415,8 +415,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_lch_color, .blend_function = gimp_operation_layer_mode_blend_lch_color,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_LAB .blend_space = GIMP_LAYER_COLOR_SPACE_LAB
}, },
@ -427,8 +427,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_lch_lightness, .blend_function = gimp_operation_layer_mode_blend_lch_lightness,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_LAB .blend_space = GIMP_LAYER_COLOR_SPACE_LAB
}, },
@ -438,8 +438,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:normal", .op_name = "gimp:normal",
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -449,8 +449,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_PAINT | .context = GIMP_LAYER_MODE_CONTEXT_PAINT |
GIMP_LAYER_MODE_CONTEXT_FADE, GIMP_LAYER_MODE_CONTEXT_FADE,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -459,8 +459,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_multiply, .blend_function = gimp_operation_layer_mode_blend_multiply,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -470,8 +470,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_screen, .blend_function = gimp_operation_layer_mode_blend_screen,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -481,8 +481,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_difference, .blend_function = gimp_operation_layer_mode_blend_difference,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -492,8 +492,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_addition, .blend_function = gimp_operation_layer_mode_blend_addition,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -503,8 +503,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_subtract, .blend_function = gimp_operation_layer_mode_blend_subtract,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -515,8 +515,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_darken_only, .blend_function = gimp_operation_layer_mode_blend_darken_only,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
/* no blend_space: reuse composite space, no conversion thus fewer copies */ /* no blend_space: reuse composite space, no conversion thus fewer copies */
}, },
@ -527,8 +527,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_lighten_only, .blend_function = gimp_operation_layer_mode_blend_lighten_only,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
/* no blend_space: reuse composite space, no conversion thus fewer copies */ /* no blend_space: reuse composite space, no conversion thus fewer copies */
}, },
@ -539,8 +539,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_hsv_hue, .blend_function = gimp_operation_layer_mode_blend_hsv_hue,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -551,8 +551,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_hsv_saturation, .blend_function = gimp_operation_layer_mode_blend_hsv_saturation,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -563,8 +563,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_hsl_color, .blend_function = gimp_operation_layer_mode_blend_hsl_color,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -575,8 +575,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_hsv_value, .blend_function = gimp_operation_layer_mode_blend_hsv_value,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -586,8 +586,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_divide, .blend_function = gimp_operation_layer_mode_blend_divide,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -597,8 +597,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_dodge, .blend_function = gimp_operation_layer_mode_blend_dodge,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -608,8 +608,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_burn, .blend_function = gimp_operation_layer_mode_blend_burn,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -619,8 +619,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_hardlight, .blend_function = gimp_operation_layer_mode_blend_hardlight,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -630,8 +630,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_softlight, .blend_function = gimp_operation_layer_mode_blend_softlight,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -641,8 +641,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_grain_extract, .blend_function = gimp_operation_layer_mode_blend_grain_extract,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -652,8 +652,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_grain_merge, .blend_function = gimp_operation_layer_mode_blend_grain_merge,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -663,8 +663,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_vivid_light, .blend_function = gimp_operation_layer_mode_blend_vivid_light,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -674,8 +674,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_pin_light, .blend_function = gimp_operation_layer_mode_blend_pin_light,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -685,8 +685,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_linear_light, .blend_function = gimp_operation_layer_mode_blend_linear_light,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -696,8 +696,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_hard_mix, .blend_function = gimp_operation_layer_mode_blend_hard_mix,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -707,8 +707,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_exclusion, .blend_function = gimp_operation_layer_mode_blend_exclusion,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -718,8 +718,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_linear_burn, .blend_function = gimp_operation_layer_mode_blend_linear_burn,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -729,8 +729,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_luma_darken_only, .blend_function = gimp_operation_layer_mode_blend_luma_darken_only,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -740,8 +740,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:layer-mode", .op_name = "gimp:layer-mode",
.blend_function = gimp_operation_layer_mode_blend_luma_lighten_only, .blend_function = gimp_operation_layer_mode_blend_luma_lighten_only,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
}, },
@ -752,8 +752,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_luminance, .blend_function = gimp_operation_layer_mode_blend_luminance,
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -764,8 +764,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.blend_function = gimp_operation_layer_mode_blend_color_erase, .blend_function = gimp_operation_layer_mode_blend_color_erase,
.flags = GIMP_LAYER_MODE_FLAG_SUBTRACTIVE, .flags = GIMP_LAYER_MODE_FLAG_SUBTRACTIVE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
.blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .blend_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -776,8 +776,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE | .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_SUBTRACTIVE, GIMP_LAYER_MODE_FLAG_SUBTRACTIVE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -786,8 +786,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:merge", .op_name = "gimp:merge",
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -798,8 +798,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_SUBTRACTIVE, GIMP_LAYER_MODE_FLAG_SUBTRACTIVE,
.context = GIMP_LAYER_MODE_CONTEXT_ALL, .context = GIMP_LAYER_MODE_CONTEXT_ALL,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP, .paint_composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_ATOP .composite_mode = GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP
}, },
{ GIMP_LAYER_MODE_PASS_THROUGH, { GIMP_LAYER_MODE_PASS_THROUGH,
@ -808,7 +808,7 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE | .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_GROUP, .context = GIMP_LAYER_MODE_CONTEXT_GROUP,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -817,8 +817,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.op_name = "gimp:replace", .op_name = "gimp:replace",
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_FADE, .context = GIMP_LAYER_MODE_CONTEXT_FADE,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR .composite_space = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
}, },
@ -828,8 +828,8 @@ static const GimpLayerModeInfo layer_mode_infos[] =
.flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE | .flags = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE,
.context = GIMP_LAYER_MODE_CONTEXT_FADE, .context = GIMP_LAYER_MODE_CONTEXT_FADE,
.paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER, .paint_composite_mode = GIMP_LAYER_COMPOSITE_UNION,
.composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER .composite_mode = GIMP_LAYER_COMPOSITE_UNION
} }
}; };
@ -1206,7 +1206,7 @@ gimp_layer_mode_get_composite_mode (GimpLayerMode mode)
const GimpLayerModeInfo *info = gimp_layer_mode_info (mode); const GimpLayerModeInfo *info = gimp_layer_mode_info (mode);
if (! info) if (! info)
return GIMP_LAYER_COMPOSITE_SRC_OVER; return GIMP_LAYER_COMPOSITE_UNION;
return info->composite_mode; return info->composite_mode;
} }
@ -1217,7 +1217,7 @@ gimp_layer_mode_get_paint_composite_mode (GimpLayerMode mode)
const GimpLayerModeInfo *info = gimp_layer_mode_info (mode); const GimpLayerModeInfo *info = gimp_layer_mode_info (mode);
if (! info) if (! info)
return GIMP_LAYER_COMPOSITE_SRC_OVER; return GIMP_LAYER_COMPOSITE_UNION;
return info->paint_composite_mode; return info->paint_composite_mode;
} }
@ -1443,16 +1443,16 @@ gimp_layer_mode_get_included_region (GimpLayerMode mode,
switch (composite_mode) switch (composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
return GIMP_LAYER_COMPOSITE_REGION_UNION; return GIMP_LAYER_COMPOSITE_REGION_UNION;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
return GIMP_LAYER_COMPOSITE_REGION_DESTINATION; return GIMP_LAYER_COMPOSITE_REGION_DESTINATION;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
return GIMP_LAYER_COMPOSITE_REGION_SOURCE; return GIMP_LAYER_COMPOSITE_REGION_SOURCE;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
return GIMP_LAYER_COMPOSITE_REGION_INTERSECTION; return GIMP_LAYER_COMPOSITE_REGION_INTERSECTION;
default: default:

View File

@ -84,7 +84,7 @@ gimp_operation_anti_erase_process (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -110,7 +110,7 @@ gimp_operation_anti_erase_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
while (samples--) while (samples--)
{ {
gint b; gint b;
@ -127,7 +127,7 @@ gimp_operation_anti_erase_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
gfloat value = opacity; gfloat value = opacity;
@ -152,7 +152,7 @@ gimp_operation_anti_erase_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
gfloat value = opacity; gfloat value = opacity;

View File

@ -82,7 +82,7 @@ gimp_operation_behind_process (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -125,7 +125,7 @@ gimp_operation_behind_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
while (samples--) while (samples--)
{ {
gfloat src1_alpha = in[ALPHA]; gfloat src1_alpha = in[ALPHA];
@ -153,7 +153,7 @@ gimp_operation_behind_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
gfloat src1_alpha = in[ALPHA]; gfloat src1_alpha = in[ALPHA];
@ -192,7 +192,7 @@ gimp_operation_behind_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
gfloat src1_alpha = in[ALPHA]; gfloat src1_alpha = in[ALPHA];

View File

@ -120,8 +120,8 @@ gimp_operation_dissolve_process (GeglOperation *op,
out[1] = in[1]; out[1] = in[1];
out[2] = in[2]; out[2] = in[2];
if (layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_SRC_OVER || if (layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_UNION ||
layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_SRC_ATOP) layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP)
{ {
out[3] = in[3]; out[3] = in[3];
} }
@ -136,8 +136,8 @@ gimp_operation_dissolve_process (GeglOperation *op,
out[1] = layer[1]; out[1] = layer[1];
out[2] = layer[2]; out[2] = layer[2];
if (layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_SRC_OVER || if (layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_UNION ||
layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_DST_ATOP) layer_mode->real_composite_mode == GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER)
{ {
out[3] = 1.0f; out[3] = 1.0f;
} }

View File

@ -81,7 +81,7 @@ gimp_operation_erase_process (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
while (samples--) while (samples--)
{ {
gfloat layer_alpha; gfloat layer_alpha;
@ -125,7 +125,7 @@ gimp_operation_erase_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -156,7 +156,7 @@ gimp_operation_erase_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
gfloat layer_alpha; gfloat layer_alpha;
@ -192,7 +192,7 @@ gimp_operation_erase_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
gint b; gint b;

View File

@ -45,21 +45,21 @@
void void
gimp_operation_layer_mode_composite_src_atop_sse2 (const gfloat *in, gimp_operation_layer_mode_composite_clip_to_backdrop_sse2 (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
if ((((uintptr_t)in) | /* alignment check */ if ((((uintptr_t)in) | /* alignment check */
((uintptr_t)comp) | ((uintptr_t)comp) |
((uintptr_t)out) ) & 0x0F) ((uintptr_t)out) ) & 0x0F)
{ {
gimp_operation_layer_mode_composite_src_atop (in, layer, comp, gimp_operation_layer_mode_composite_clip_to_backdrop (in, layer, comp,
mask, opacity, out, mask, opacity, out,
samples); samples);
} }
else else
{ {

View File

@ -39,13 +39,13 @@
void void
gimp_operation_layer_mode_composite_src_over (const gfloat *in, gimp_operation_layer_mode_composite_union (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {
@ -92,13 +92,13 @@ gimp_operation_layer_mode_composite_src_over (const gfloat *in,
} }
void void
gimp_operation_layer_mode_composite_src_atop (const gfloat *in, gimp_operation_layer_mode_composite_clip_to_backdrop (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {
@ -133,13 +133,13 @@ gimp_operation_layer_mode_composite_src_atop (const gfloat *in,
} }
void void
gimp_operation_layer_mode_composite_dst_atop (const gfloat *in, gimp_operation_layer_mode_composite_clip_to_layer (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {
@ -181,13 +181,13 @@ gimp_operation_layer_mode_composite_dst_atop (const gfloat *in,
} }
void void
gimp_operation_layer_mode_composite_src_in (const gfloat *in, gimp_operation_layer_mode_composite_intersection (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {
@ -228,13 +228,13 @@ gimp_operation_layer_mode_composite_src_in (const gfloat *in,
*/ */
void void
gimp_operation_layer_mode_composite_src_over_sub (const gfloat *in, gimp_operation_layer_mode_composite_union_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {
@ -284,13 +284,13 @@ gimp_operation_layer_mode_composite_src_over_sub (const gfloat *in,
} }
void void
gimp_operation_layer_mode_composite_src_atop_sub (const gfloat *in, gimp_operation_layer_mode_composite_clip_to_backdrop_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {
@ -335,13 +335,13 @@ gimp_operation_layer_mode_composite_src_atop_sub (const gfloat *in,
} }
void void
gimp_operation_layer_mode_composite_dst_atop_sub (const gfloat *in, gimp_operation_layer_mode_composite_clip_to_layer_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {
@ -393,13 +393,13 @@ gimp_operation_layer_mode_composite_dst_atop_sub (const gfloat *in,
} }
void void
gimp_operation_layer_mode_composite_src_in_sub (const gfloat *in, gimp_operation_layer_mode_composite_intersection_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples) gint samples)
{ {
while (samples--) while (samples--)
{ {

View File

@ -24,73 +24,73 @@
#define __GIMP_OPERATION_LAYER_MODE_COMPOSITE_H__ #define __GIMP_OPERATION_LAYER_MODE_COMPOSITE_H__
void gimp_operation_layer_mode_composite_src_over (const gfloat *in, void gimp_operation_layer_mode_composite_union (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
void gimp_operation_layer_mode_composite_src_atop (const gfloat *in, void gimp_operation_layer_mode_composite_clip_to_backdrop (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
void gimp_operation_layer_mode_composite_dst_atop (const gfloat *in, void gimp_operation_layer_mode_composite_clip_to_layer (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
void gimp_operation_layer_mode_composite_src_in (const gfloat *in, void gimp_operation_layer_mode_composite_intersection (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
void gimp_operation_layer_mode_composite_src_over_sub (const gfloat *in, void gimp_operation_layer_mode_composite_union_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
void gimp_operation_layer_mode_composite_src_atop_sub (const gfloat *in, void gimp_operation_layer_mode_composite_clip_to_backdrop_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
void gimp_operation_layer_mode_composite_dst_atop_sub (const gfloat *in, void gimp_operation_layer_mode_composite_clip_to_layer_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
void gimp_operation_layer_mode_composite_src_in_sub (const gfloat *in, void gimp_operation_layer_mode_composite_intersection_sub (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
#if COMPILE_SSE2_INTRINISICS #if COMPILE_SSE2_INTRINISICS
void gimp_operation_layer_mode_composite_src_atop_sse2 (const gfloat *in, void gimp_operation_layer_mode_composite_clip_to_backdrop_sse2 (const gfloat *in,
const gfloat *layer, const gfloat *layer,
const gfloat *comp, const gfloat *comp,
const gfloat *mask, const gfloat *mask,
gfloat opacity, gfloat opacity,
gfloat *out, gfloat *out,
gint samples); gint samples);
#endif /* COMPILE_SSE2_INTRINISICS */ #endif /* COMPILE_SSE2_INTRINISICS */

View File

@ -120,15 +120,15 @@ G_DEFINE_TYPE (GimpOperationLayerMode, gimp_operation_layer_mode,
static const Babl *gimp_layer_color_space_fish[3 /* from */][3 /* to */]; static const Babl *gimp_layer_color_space_fish[3 /* from */][3 /* to */];
static CompositeFunc composite_src_over = gimp_operation_layer_mode_composite_src_over; static CompositeFunc composite_union = gimp_operation_layer_mode_composite_union;
static CompositeFunc composite_src_atop = gimp_operation_layer_mode_composite_src_atop; static CompositeFunc composite_clip_to_backdrop = gimp_operation_layer_mode_composite_clip_to_backdrop;
static CompositeFunc composite_dst_atop = gimp_operation_layer_mode_composite_dst_atop; static CompositeFunc composite_clip_to_layer = gimp_operation_layer_mode_composite_clip_to_layer;
static CompositeFunc composite_src_in = gimp_operation_layer_mode_composite_src_in; static CompositeFunc composite_intersection = gimp_operation_layer_mode_composite_intersection;
static CompositeFunc composite_src_over_sub = gimp_operation_layer_mode_composite_src_over_sub; static CompositeFunc composite_union_sub = gimp_operation_layer_mode_composite_union_sub;
static CompositeFunc composite_src_atop_sub = gimp_operation_layer_mode_composite_src_atop_sub; static CompositeFunc composite_clip_to_backdrop_sub = gimp_operation_layer_mode_composite_clip_to_backdrop_sub;
static CompositeFunc composite_dst_atop_sub = gimp_operation_layer_mode_composite_dst_atop_sub; static CompositeFunc composite_clip_to_layer_sub = gimp_operation_layer_mode_composite_clip_to_layer_sub;
static CompositeFunc composite_src_in_sub = gimp_operation_layer_mode_composite_src_in_sub; static CompositeFunc composite_intersection_sub = gimp_operation_layer_mode_composite_intersection_sub;
static void static void
@ -188,7 +188,7 @@ gimp_operation_layer_mode_class_init (GimpOperationLayerModeClass *klass)
g_param_spec_enum ("composite-mode", g_param_spec_enum ("composite-mode",
NULL, NULL, NULL, NULL,
GIMP_TYPE_LAYER_COMPOSITE_MODE, GIMP_TYPE_LAYER_COMPOSITE_MODE,
GIMP_LAYER_COMPOSITE_SRC_OVER, GIMP_LAYER_COMPOSITE_UNION,
GIMP_PARAM_READWRITE | GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT)); G_PARAM_CONSTRUCT));
@ -221,7 +221,7 @@ gimp_operation_layer_mode_class_init (GimpOperationLayerModeClass *klass)
#if COMPILE_SSE2_INTRINISICS #if COMPILE_SSE2_INTRINISICS
if (gimp_cpu_accel_get_support () & GIMP_CPU_ACCEL_X86_SSE2) if (gimp_cpu_accel_get_support () & GIMP_CPU_ACCEL_X86_SSE2)
composite_src_atop = gimp_operation_layer_mode_composite_src_atop_sse2; composite_clip_to_backdrop = gimp_operation_layer_mode_composite_clip_to_backdrop_sse2;
#endif #endif
} }
@ -312,6 +312,14 @@ gimp_operation_layer_mode_prepare (GeglOperation *operation)
self->real_composite_mode = self->composite_mode; self->real_composite_mode = self->composite_mode;
if (self->real_composite_mode == GIMP_LAYER_COMPOSITE_AUTO)
{
self->real_composite_mode =
gimp_layer_mode_get_composite_mode (self->layer_mode);
g_warn_if_fail (self->real_composite_mode != GIMP_LAYER_COMPOSITE_AUTO);
}
self->function = gimp_layer_mode_get_function (self->layer_mode); self->function = gimp_layer_mode_get_function (self->layer_mode);
self->blend_function = gimp_layer_mode_get_blend_function (self->layer_mode); self->blend_function = gimp_layer_mode_get_blend_function (self->layer_mode);
@ -325,7 +333,7 @@ gimp_operation_layer_mode_prepare (GeglOperation *operation)
preferred_format = gegl_operation_get_source_format (operation, "input"); preferred_format = gegl_operation_get_source_format (operation, "input");
} }
/* otherwise, we're the last node (corresponding to the bottom layer). /* otherwise, we're the last node (corresponding to the bottom layer).
* in this case, we render the layer (as if) using src-over mode. * in this case, we render the layer (as if) using UNION mode.
*/ */
else else
{ {
@ -340,11 +348,11 @@ gimp_operation_layer_mode_prepare (GeglOperation *operation)
self->function = process_last_node; self->function = process_last_node;
} }
/* otherwise, use the original process function, but force the /* otherwise, use the original process function, but force the
* composite mode to SRC_OVER. * composite mode to UNION.
*/ */
else else
{ {
self->real_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER; self->real_composite_mode = GIMP_LAYER_COMPOSITE_UNION;
} }
preferred_format = gegl_operation_get_source_format (operation, "aux"); preferred_format = gegl_operation_get_source_format (operation, "aux");
@ -562,8 +570,8 @@ gimp_operation_layer_mode_real_process (GeglOperation *operation,
} }
composite_needs_in_color = composite_needs_in_color =
composite_mode == GIMP_LAYER_COMPOSITE_SRC_OVER || composite_mode == GIMP_LAYER_COMPOSITE_UNION ||
composite_mode == GIMP_LAYER_COMPOSITE_SRC_ATOP; composite_mode == GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP;
blend_in = in; blend_in = in;
blend_layer = layer; blend_layer = layer;
@ -701,25 +709,25 @@ gimp_operation_layer_mode_real_process (GeglOperation *operation,
{ {
switch (composite_mode) switch (composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_UNION:
default: case GIMP_LAYER_COMPOSITE_AUTO:
composite_src_atop (in, layer, blend_out, mask, opacity, composite_union (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
composite_src_over (in, layer, blend_out, mask, opacity, composite_clip_to_backdrop (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
composite_dst_atop (in, layer, blend_out, mask, opacity, composite_clip_to_layer (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
composite_src_in (in, layer, blend_out, mask, opacity, composite_intersection (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
} }
} }
@ -727,25 +735,25 @@ gimp_operation_layer_mode_real_process (GeglOperation *operation,
{ {
switch (composite_mode) switch (composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_UNION:
default: case GIMP_LAYER_COMPOSITE_AUTO:
composite_src_atop_sub (in, layer, blend_out, mask, opacity, composite_union_sub (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
composite_src_over_sub (in, layer, blend_out, mask, opacity, composite_clip_to_backdrop_sub (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
composite_dst_atop_sub (in, layer, blend_out, mask, opacity, composite_clip_to_layer_sub (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
composite_src_in_sub (in, layer, blend_out, mask, opacity, composite_intersection_sub (in, layer, blend_out, mask, opacity,
out, samples); out, samples);
break; break;
} }
} }

View File

@ -81,7 +81,7 @@ gimp_operation_merge_process (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -124,7 +124,7 @@ gimp_operation_merge_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
while (samples--) while (samples--)
{ {
gfloat in_alpha = in[ALPHA]; gfloat in_alpha = in[ALPHA];
@ -164,7 +164,7 @@ gimp_operation_merge_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
gfloat layer_alpha = layer[ALPHA] * opacity; gfloat layer_alpha = layer[ALPHA] * opacity;
@ -199,7 +199,7 @@ gimp_operation_merge_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
gfloat in_alpha = in[ALPHA]; gfloat in_alpha = in[ALPHA];

View File

@ -64,7 +64,7 @@ gimp_operation_normal_process_sse2 (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -121,7 +121,7 @@ gimp_operation_normal_process_sse2 (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
while (samples--) while (samples--)
{ {
__v4sf rgba_in, rgba_layer, alpha; __v4sf rgba_in, rgba_layer, alpha;
@ -168,7 +168,7 @@ gimp_operation_normal_process_sse2 (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
__v4sf rgba_in, rgba_layer, alpha; __v4sf rgba_in, rgba_layer, alpha;
@ -210,7 +210,7 @@ gimp_operation_normal_process_sse2 (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
__v4sf rgba_in, rgba_layer, alpha; __v4sf rgba_in, rgba_layer, alpha;

View File

@ -64,7 +64,7 @@ gimp_operation_normal_process_sse4 (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -120,7 +120,7 @@ gimp_operation_normal_process_sse4 (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
while (samples--) while (samples--)
{ {
__v4sf rgba_in, rgba_layer, alpha; __v4sf rgba_in, rgba_layer, alpha;
@ -166,7 +166,7 @@ gimp_operation_normal_process_sse4 (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
__v4sf rgba_in, rgba_layer, alpha; __v4sf rgba_in, rgba_layer, alpha;
@ -207,7 +207,7 @@ gimp_operation_normal_process_sse4 (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
__v4sf rgba_in, rgba_layer, alpha; __v4sf rgba_in, rgba_layer, alpha;

View File

@ -102,7 +102,7 @@ gimp_operation_normal_process (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -144,7 +144,7 @@ gimp_operation_normal_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
while (samples--) while (samples--)
{ {
gfloat layer_alpha; gfloat layer_alpha;
@ -183,7 +183,7 @@ gimp_operation_normal_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
gfloat layer_alpha; gfloat layer_alpha;
@ -222,7 +222,7 @@ gimp_operation_normal_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
gfloat layer_alpha; gfloat layer_alpha;

View File

@ -82,7 +82,7 @@ gimp_operation_replace_process (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -119,7 +119,7 @@ gimp_operation_replace_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
while (samples--) while (samples--)
{ {
gfloat opacity_value = opacity; gfloat opacity_value = opacity;
@ -144,7 +144,7 @@ gimp_operation_replace_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
gfloat opacity_value = opacity; gfloat opacity_value = opacity;
@ -178,7 +178,7 @@ gimp_operation_replace_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
gint b; gint b;

View File

@ -81,7 +81,7 @@ gimp_operation_split_process (GeglOperation *op,
switch (layer_mode->real_composite_mode) switch (layer_mode->real_composite_mode)
{ {
case GIMP_LAYER_COMPOSITE_SRC_OVER: case GIMP_LAYER_COMPOSITE_UNION:
while (samples--) while (samples--)
{ {
gfloat in_alpha = in[ALPHA]; gfloat in_alpha = in[ALPHA];
@ -122,7 +122,7 @@ gimp_operation_split_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP:
case GIMP_LAYER_COMPOSITE_AUTO: case GIMP_LAYER_COMPOSITE_AUTO:
while (samples--) while (samples--)
{ {
@ -152,7 +152,7 @@ gimp_operation_split_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_DST_ATOP: case GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER:
while (samples--) while (samples--)
{ {
gfloat in_alpha = in[ALPHA]; gfloat in_alpha = in[ALPHA];
@ -191,7 +191,7 @@ gimp_operation_split_process (GeglOperation *op,
} }
break; break;
case GIMP_LAYER_COMPOSITE_SRC_IN: case GIMP_LAYER_COMPOSITE_INTERSECTION:
while (samples--) while (samples--)
{ {
gint b; gint b;

View File

@ -47,20 +47,20 @@ gimp_layer_composite_mode_get_type (void)
static const GEnumValue values[] = static const GEnumValue values[] =
{ {
{ GIMP_LAYER_COMPOSITE_AUTO, "GIMP_LAYER_COMPOSITE_AUTO", "auto" }, { GIMP_LAYER_COMPOSITE_AUTO, "GIMP_LAYER_COMPOSITE_AUTO", "auto" },
{ GIMP_LAYER_COMPOSITE_SRC_OVER, "GIMP_LAYER_COMPOSITE_SRC_OVER", "src-over" }, { GIMP_LAYER_COMPOSITE_UNION, "GIMP_LAYER_COMPOSITE_UNION", "union" },
{ GIMP_LAYER_COMPOSITE_SRC_ATOP, "GIMP_LAYER_COMPOSITE_SRC_ATOP", "src-atop" }, { GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP, "GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP", "clip-to-backdrop" },
{ GIMP_LAYER_COMPOSITE_DST_ATOP, "GIMP_LAYER_COMPOSITE_DST_ATOP", "dst-atop" }, { GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER, "GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER", "clip-to-layer" },
{ GIMP_LAYER_COMPOSITE_SRC_IN, "GIMP_LAYER_COMPOSITE_SRC_IN", "src-in" }, { GIMP_LAYER_COMPOSITE_INTERSECTION, "GIMP_LAYER_COMPOSITE_INTERSECTION", "intersection" },
{ 0, NULL, NULL } { 0, NULL, NULL }
}; };
static const GimpEnumDesc descs[] = static const GimpEnumDesc descs[] =
{ {
{ GIMP_LAYER_COMPOSITE_AUTO, NC_("layer-composite-mode", "Auto"), NULL }, { GIMP_LAYER_COMPOSITE_AUTO, NC_("layer-composite-mode", "Auto"), NULL },
{ GIMP_LAYER_COMPOSITE_SRC_OVER, NC_("layer-composite-mode", "Source over"), NULL }, { GIMP_LAYER_COMPOSITE_UNION, NC_("layer-composite-mode", "Union"), NULL },
{ GIMP_LAYER_COMPOSITE_SRC_ATOP, NC_("layer-composite-mode", "Source atop"), NULL }, { GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP, NC_("layer-composite-mode", "Clip to backdrop"), NULL },
{ GIMP_LAYER_COMPOSITE_DST_ATOP, NC_("layer-composite-mode", "Destination atop"), NULL }, { GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER, NC_("layer-composite-mode", "Clip to layer"), NULL },
{ GIMP_LAYER_COMPOSITE_SRC_IN, NC_("layer-composite-mode", "Source in"), NULL }, { GIMP_LAYER_COMPOSITE_INTERSECTION, NC_("layer-composite-mode", "Intersection"), NULL },
{ 0, NULL, NULL } { 0, NULL, NULL }
}; };

View File

@ -40,11 +40,11 @@ GType gimp_layer_composite_mode_get_type (void) G_GNUC_CONST;
typedef enum typedef enum
{ {
GIMP_LAYER_COMPOSITE_AUTO, /*< desc="Auto" >*/ GIMP_LAYER_COMPOSITE_AUTO, /*< desc="Auto" >*/
GIMP_LAYER_COMPOSITE_SRC_OVER, /*< desc="Source over" >*/ GIMP_LAYER_COMPOSITE_UNION, /*< desc="Union" >*/
GIMP_LAYER_COMPOSITE_SRC_ATOP, /*< desc="Source atop" >*/ GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP, /*< desc="Clip to backdrop" >*/
GIMP_LAYER_COMPOSITE_DST_ATOP, /*< desc="Destination atop" >*/ GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER, /*< desc="Clip to layer" >*/
GIMP_LAYER_COMPOSITE_SRC_IN /*< desc="Source in" >*/ GIMP_LAYER_COMPOSITE_INTERSECTION /*< desc="Intersection" >*/
} GimpLayerCompositeMode; } GimpLayerCompositeMode;

View File

@ -82,10 +82,10 @@ GType gimp_layer_composite_mode_get_type (void) G_GNUC_CONST;
typedef enum typedef enum
{ {
GIMP_LAYER_COMPOSITE_AUTO, GIMP_LAYER_COMPOSITE_AUTO,
GIMP_LAYER_COMPOSITE_SRC_OVER, GIMP_LAYER_COMPOSITE_UNION,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP,
GIMP_LAYER_COMPOSITE_DST_ATOP, GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER,
GIMP_LAYER_COMPOSITE_SRC_IN GIMP_LAYER_COMPOSITE_INTERSECTION
} GimpLayerCompositeMode; } GimpLayerCompositeMode;

View File

@ -17,10 +17,10 @@
</menu> </menu>
<menu action="layers-composite-mode-menu" name="Composite Mode"> <menu action="layers-composite-mode-menu" name="Composite Mode">
<menuitem action="layers-composite-mode-auto" /> <menuitem action="layers-composite-mode-auto" />
<menuitem action="layers-composite-mode-src-over" /> <menuitem action="layers-composite-mode-union" />
<menuitem action="layers-composite-mode-src-atop" /> <menuitem action="layers-composite-mode-clip-to-backdrop" />
<menuitem action="layers-composite-mode-src-in" /> <menuitem action="layers-composite-mode-clip-to-layer" />
<menuitem action="layers-composite-mode-dst-atop" /> <menuitem action="layers-composite-mode-intersection" />
</menu> </menu>
<menu action="layers-color-tag-menu" name="Color Tags"> <menu action="layers-color-tag-menu" name="Color Tags">
<menuitem action="layers-color-tag-none" /> <menuitem action="layers-color-tag-none" />

View File

@ -692,15 +692,15 @@ package Gimp::CodeGen::enums;
{ contig => 1, { contig => 1,
header => 'operations/operations-enums.h', header => 'operations/operations-enums.h',
symbols => [ qw(GIMP_LAYER_COMPOSITE_AUTO symbols => [ qw(GIMP_LAYER_COMPOSITE_AUTO
GIMP_LAYER_COMPOSITE_SRC_OVER GIMP_LAYER_COMPOSITE_UNION
GIMP_LAYER_COMPOSITE_SRC_ATOP GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP
GIMP_LAYER_COMPOSITE_DST_ATOP GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER
GIMP_LAYER_COMPOSITE_SRC_IN) ], GIMP_LAYER_COMPOSITE_INTERSECTION) ],
mapping => { GIMP_LAYER_COMPOSITE_AUTO => '0', mapping => { GIMP_LAYER_COMPOSITE_AUTO => '0',
GIMP_LAYER_COMPOSITE_SRC_OVER => '1', GIMP_LAYER_COMPOSITE_UNION => '1',
GIMP_LAYER_COMPOSITE_SRC_ATOP => '2', GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP => '2',
GIMP_LAYER_COMPOSITE_DST_ATOP => '3', GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER => '3',
GIMP_LAYER_COMPOSITE_SRC_IN => '4' } GIMP_LAYER_COMPOSITE_INTERSECTION => '4' }
}, },
GimpLayerMode => GimpLayerMode =>
{ contig => 1, { contig => 1,

View File

@ -746,7 +746,7 @@ psd_to_gimp_blend_mode (const gchar *psd_mode,
*/ */
mode_info->blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL; mode_info->blend_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL;
mode_info->composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL; mode_info->composite_space = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL;
mode_info->composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER; mode_info->composite_mode = GIMP_LAYER_COMPOSITE_UNION;
for (i = 0; i < G_N_ELEMENTS (layer_mode_map); i++) for (i = 0; i < G_N_ELEMENTS (layer_mode_map); i++)
{ {
@ -803,11 +803,11 @@ gimp_to_psd_blend_mode (const LayerModeInfo *mode_info)
} }
if (mode_info->composite_mode != GIMP_LAYER_COMPOSITE_AUTO && if (mode_info->composite_mode != GIMP_LAYER_COMPOSITE_AUTO &&
mode_info->composite_mode != GIMP_LAYER_COMPOSITE_SRC_OVER) mode_info->composite_mode != GIMP_LAYER_COMPOSITE_UNION)
{ {
if (CONVERSION_WARNINGS) if (CONVERSION_WARNINGS)
g_message ("Unsupported composite mode: %s. " g_message ("Unsupported composite mode: %s. "
"Composite mode reverts to src-over", "Composite mode reverts to union",
get_enum_value_nick (GIMP_TYPE_LAYER_COMPOSITE_MODE, get_enum_value_nick (GIMP_TYPE_LAYER_COMPOSITE_MODE,
mode_info->composite_mode)); mode_info->composite_mode));
} }