Bug 778597 - Eraser paints transparent areas with BG color

Add a "paint_composite_mode" field to GimpLayerModeInfo and set the
mode of the eraser to SRC_ATOP. Defaulting to SRC_OVER for all
painting didn't quite do it for all modes.
This commit is contained in:
Michael Natterer
2017-02-14 22:51:47 +01:00
parent df45936743
commit 57360a0ddc
4 changed files with 97 additions and 3 deletions

View File

@ -35,6 +35,7 @@ struct _GimpLayerModeInfo
GimpLayerMode layer_mode; GimpLayerMode layer_mode;
const gchar *op_name; const gchar *op_name;
GimpLayerModeFlags flags; GimpLayerModeFlags flags;
GimpLayerCompositeMode paint_composite_mode;
GimpLayerCompositeMode composite_mode; GimpLayerCompositeMode composite_mode;
GimpLayerColorSpace composite_space; GimpLayerColorSpace composite_space;
GimpLayerColorSpace blend_space; GimpLayerColorSpace blend_space;
@ -49,6 +50,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:normal", "gimp:normal",
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER, GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_OVER,
}, },
{ GIMP_LAYER_MODE_DISSOLVE, { GIMP_LAYER_MODE_DISSOLVE,
@ -57,12 +59,14 @@ static const GimpLayerModeInfo layer_mode_infos[]=
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER, GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_OVER,
}, },
{ GIMP_LAYER_MODE_BEHIND, { GIMP_LAYER_MODE_BEHIND,
"gimp:behind", "gimp:behind",
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER, GIMP_LAYER_COMPOSITE_DST_ATOP,
GIMP_LAYER_COMPOSITE_DST_ATOP
}, },
{ GIMP_LAYER_MODE_MULTIPLY_LEGACY, { GIMP_LAYER_MODE_MULTIPLY_LEGACY,
@ -72,6 +76,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_SCREEN_LEGACY, { GIMP_LAYER_MODE_SCREEN_LEGACY,
@ -81,6 +86,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_OVERLAY_LEGACY, { GIMP_LAYER_MODE_OVERLAY_LEGACY,
@ -90,6 +96,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_DIFFERENCE_LEGACY, { GIMP_LAYER_MODE_DIFFERENCE_LEGACY,
@ -99,6 +106,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_ADDITION_LEGACY, { GIMP_LAYER_MODE_ADDITION_LEGACY,
@ -108,6 +116,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_SUBTRACT_LEGACY, { GIMP_LAYER_MODE_SUBTRACT_LEGACY,
@ -117,6 +126,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_DARKEN_ONLY_LEGACY, { GIMP_LAYER_MODE_DARKEN_ONLY_LEGACY,
@ -126,6 +136,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_LIGHTEN_ONLY_LEGACY, { GIMP_LAYER_MODE_LIGHTEN_ONLY_LEGACY,
@ -135,6 +146,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_HSV_HUE_LEGACY, { GIMP_LAYER_MODE_HSV_HUE_LEGACY,
@ -144,6 +156,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_HSV_SATURATION_LEGACY, { GIMP_LAYER_MODE_HSV_SATURATION_LEGACY,
@ -153,6 +166,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_HSV_COLOR_LEGACY, { GIMP_LAYER_MODE_HSV_COLOR_LEGACY,
@ -162,6 +176,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_HSV_VALUE_LEGACY, { GIMP_LAYER_MODE_HSV_VALUE_LEGACY,
@ -171,6 +186,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_DIVIDE_LEGACY, { GIMP_LAYER_MODE_DIVIDE_LEGACY,
@ -180,6 +196,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_DODGE_LEGACY, { GIMP_LAYER_MODE_DODGE_LEGACY,
@ -189,6 +206,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_BURN_LEGACY, { GIMP_LAYER_MODE_BURN_LEGACY,
@ -198,6 +216,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_HARDLIGHT_LEGACY, { GIMP_LAYER_MODE_HARDLIGHT_LEGACY,
@ -207,6 +226,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_SOFTLIGHT_LEGACY, { GIMP_LAYER_MODE_SOFTLIGHT_LEGACY,
@ -216,6 +236,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_GRAIN_EXTRACT_LEGACY, { GIMP_LAYER_MODE_GRAIN_EXTRACT_LEGACY,
@ -225,6 +246,7 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_GRAIN_MERGE_LEGACY, { GIMP_LAYER_MODE_GRAIN_MERGE_LEGACY,
@ -234,17 +256,20 @@ 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,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_COLOR_ERASE, { GIMP_LAYER_MODE_COLOR_ERASE,
"gimp:color-erase", "gimp:color-erase",
0, 0,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
}, },
{ GIMP_LAYER_MODE_OVERLAY, { GIMP_LAYER_MODE_OVERLAY,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -254,6 +279,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_LAB GIMP_LAYER_COLOR_SPACE_LAB
@ -263,6 +289,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_LAB GIMP_LAYER_COLOR_SPACE_LAB
@ -272,6 +299,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_LAB GIMP_LAYER_COLOR_SPACE_LAB
@ -281,6 +309,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_LAB GIMP_LAYER_COLOR_SPACE_LAB
@ -296,11 +325,14 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:behind", "gimp:behind",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_DST_ATOP,
GIMP_LAYER_COMPOSITE_DST_ATOP,
}, },
{ GIMP_LAYER_MODE_MULTIPLY, { GIMP_LAYER_MODE_MULTIPLY,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -309,6 +341,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_MULTIPLY_LINEAR, { GIMP_LAYER_MODE_MULTIPLY_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -317,6 +350,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_SCREEN, { GIMP_LAYER_MODE_SCREEN,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -325,6 +359,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_SCREEN_LINEAR, { GIMP_LAYER_MODE_SCREEN_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -333,6 +368,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_OVERLAY_LINEAR, { GIMP_LAYER_MODE_OVERLAY_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -341,6 +377,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_DIFFERENCE, { GIMP_LAYER_MODE_DIFFERENCE,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -349,6 +386,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_DIFFERENCE_LINEAR, { GIMP_LAYER_MODE_DIFFERENCE_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -357,6 +395,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_ADDITION, { GIMP_LAYER_MODE_ADDITION,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -365,6 +404,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_ADDITION_LINEAR, { GIMP_LAYER_MODE_ADDITION_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -373,6 +413,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_SUBTRACT, { GIMP_LAYER_MODE_SUBTRACT,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -381,6 +422,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_SUBTRACT_LINEAR, { GIMP_LAYER_MODE_SUBTRACT_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -390,6 +432,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -399,6 +442,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -408,6 +452,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -417,6 +462,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -426,6 +472,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -435,6 +482,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -443,6 +491,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_DIVIDE, { GIMP_LAYER_MODE_DIVIDE,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -451,6 +500,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_DIVIDE_LINEAR, { GIMP_LAYER_MODE_DIVIDE_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -459,6 +509,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_DODGE, { GIMP_LAYER_MODE_DODGE,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -467,6 +518,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_DODGE_LINEAR, { GIMP_LAYER_MODE_DODGE_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -475,6 +527,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_BURN, { GIMP_LAYER_MODE_BURN,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -483,6 +536,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_BURN_LINEAR, { GIMP_LAYER_MODE_BURN_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -491,6 +545,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_HARDLIGHT, { GIMP_LAYER_MODE_HARDLIGHT,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -499,6 +554,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_HARDLIGHT_LINEAR, { GIMP_LAYER_MODE_HARDLIGHT_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -507,6 +563,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_SOFTLIGHT, { GIMP_LAYER_MODE_SOFTLIGHT,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -515,6 +572,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_SOFTLIGHT_LINEAR, { GIMP_LAYER_MODE_SOFTLIGHT_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -523,6 +581,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_GRAIN_EXTRACT, { GIMP_LAYER_MODE_GRAIN_EXTRACT,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -531,6 +590,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR, { GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -539,6 +599,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_GRAIN_MERGE, { GIMP_LAYER_MODE_GRAIN_MERGE,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -547,6 +608,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR, { GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -555,6 +617,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_VIVID_LIGHT, { GIMP_LAYER_MODE_VIVID_LIGHT,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -563,6 +626,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR, { GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -571,6 +635,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_PIN_LIGHT, { GIMP_LAYER_MODE_PIN_LIGHT,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -579,6 +644,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_PIN_LIGHT_LINEAR, { GIMP_LAYER_MODE_PIN_LIGHT_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -587,6 +653,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LINEAR_LIGHT, { GIMP_LAYER_MODE_LINEAR_LIGHT,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -595,6 +662,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR, { GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -603,6 +671,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_HARD_MIX, { GIMP_LAYER_MODE_HARD_MIX,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -611,6 +680,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_HARD_MIX_LINEAR, { GIMP_LAYER_MODE_HARD_MIX_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -619,6 +689,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_EXCLUSION, { GIMP_LAYER_MODE_EXCLUSION,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -627,6 +698,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_EXCLUSION_LINEAR, { GIMP_LAYER_MODE_EXCLUSION_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -635,6 +707,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LINEAR_BURN, { GIMP_LAYER_MODE_LINEAR_BURN,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -643,6 +716,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LINEAR_BURN_LINEAR, { GIMP_LAYER_MODE_LINEAR_BURN_LINEAR,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -651,6 +725,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LUMA_DARKEN_ONLY, { GIMP_LAYER_MODE_LUMA_DARKEN_ONLY,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -659,6 +734,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY, { GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -667,6 +743,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY, { GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
@ -675,6 +752,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
{ GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY, { GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY,
"gimp:layer-mode", "gimp:layer-mode",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA, GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_ATOP, GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
GIMP_LAYER_COLOR_SPACE_RGB_LINEAR GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
@ -684,6 +762,7 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:erase", "gimp:erase",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP GIMP_LAYER_COMPOSITE_SRC_ATOP
}, },
@ -691,6 +770,8 @@ static const GimpLayerModeInfo layer_mode_infos[]=
"gimp:replace", "gimp:replace",
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_LAYER_COMPOSITE_SRC_OVER,
}, },
{ GIMP_LAYER_MODE_ANTI_ERASE, { GIMP_LAYER_MODE_ANTI_ERASE,
@ -698,6 +779,8 @@ static const GimpLayerModeInfo layer_mode_infos[]=
GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA | GIMP_LAYER_MODE_FLAG_WANTS_LINEAR_DATA |
GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE | GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE |
GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE, GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE,
GIMP_LAYER_COMPOSITE_SRC_ATOP,
GIMP_LAYER_COMPOSITE_SRC_ATOP
} }
}; };
@ -1149,6 +1232,15 @@ gimp_layer_mode_get_composite_mode (GimpLayerMode mode)
return info->composite_mode; return info->composite_mode;
} }
GimpLayerCompositeMode
gimp_layer_mode_get_paint_composite_mode (GimpLayerMode mode)
{
const GimpLayerModeInfo *info = gimp_layer_mode_info (mode);
if (!info)
return GIMP_LAYER_COMPOSITE_SRC_OVER;
return info->paint_composite_mode;
}
const gchar * const gchar *
gimp_layer_mode_get_operation (GimpLayerMode mode) gimp_layer_mode_get_operation (GimpLayerMode mode)
{ {

View File

@ -35,6 +35,8 @@ gboolean gimp_layer_mode_is_composite_mode_mutable (GimpLayerMode
GimpLayerColorSpace gimp_layer_mode_get_blend_space (GimpLayerMode mode); GimpLayerColorSpace gimp_layer_mode_get_blend_space (GimpLayerMode mode);
GimpLayerColorSpace gimp_layer_mode_get_composite_space (GimpLayerMode mode); GimpLayerColorSpace gimp_layer_mode_get_composite_space (GimpLayerMode mode);
GimpLayerCompositeMode gimp_layer_mode_get_composite_mode (GimpLayerMode mode); GimpLayerCompositeMode gimp_layer_mode_get_composite_mode (GimpLayerMode mode);
GimpLayerCompositeMode gimp_layer_mode_get_paint_composite_mode
(GimpLayerMode mode);
const gchar * gimp_layer_mode_get_operation (GimpLayerMode mode); const gchar * gimp_layer_mode_get_operation (GimpLayerMode mode);

View File

@ -319,7 +319,7 @@ do_layer_blend (GeglBuffer *src_buffer,
apply_func = gimp_get_layer_mode_function (paint_mode); apply_func = gimp_get_layer_mode_function (paint_mode);
blend_space = gimp_layer_mode_get_blend_space (paint_mode); blend_space = gimp_layer_mode_get_blend_space (paint_mode);
composite_space = gimp_layer_mode_get_composite_space (paint_mode); composite_space = gimp_layer_mode_get_composite_space (paint_mode);
composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER; composite_mode = gimp_layer_mode_get_paint_composite_mode (paint_mode);
if (linear) if (linear)
iterator_format = babl_format ("RGBA float"); iterator_format = babl_format ("RGBA float");

View File

@ -905,7 +905,7 @@ gimp_paint_core_paste (GimpPaintCore *core,
gimp_applicator_set_mode (core->applicator, paint_mode, gimp_applicator_set_mode (core->applicator, paint_mode,
GIMP_LAYER_COLOR_SPACE_AUTO, GIMP_LAYER_COLOR_SPACE_AUTO,
GIMP_LAYER_COLOR_SPACE_AUTO, GIMP_LAYER_COLOR_SPACE_AUTO,
GIMP_LAYER_COMPOSITE_SRC_OVER); gimp_layer_mode_get_paint_composite_mode (paint_mode));
/* apply the paint area to the image */ /* apply the paint area to the image */
gimp_applicator_blit (core->applicator, gimp_applicator_blit (core->applicator,