app/base/base-enums.h app/paint-funcs/paint-funcs-generic.h

2002-11-05  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.h
	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c
	* app/widgets/gimpwidgets-constructors.c: applied a patch from
	Guillermo S. Romero that adds three new layer modes (Softlight,
	Grain Extract and Grain Merge, #97686).

	* app/base/base-enums.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/widgets/gimpwidgets-constructors.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
This commit is contained in:
Sven Neumann
2002-11-05 19:33:59 +00:00
committed by Sven Neumann
parent 08750ff16b
commit ace7acd3b4
15 changed files with 262 additions and 62 deletions

View File

@ -1,3 +1,22 @@
2002-11-05 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.c
* app/widgets/gimpwidgets-constructors.c: applied a patch from
Guillermo S. Romero that adds three new layer modes (Softlight,
Grain Extract and Grain Merge, #97686).
* app/base/base-enums.c
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/misc_tools_cmds.c
* app/widgets/gimpwidgets-constructors.c
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2002-11-05 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorselector.[ch]: added virtual functions

20
NEWS
View File

@ -8,6 +8,26 @@ development takes place on the road to the next stable release
dubbed GIMP 1.4.
Overview of Changes in GIMP 1.3.10
==================================
- Text tool can load text files now [Sven]
- Some unfinished work on the imagemap tools and related widgets [Sven]
- Undeprecated ink tool [Bolsh, Sven]
- Slightly tweaked the look and feel of the toolbox [Mitch, Sven]
- Ported module loading to GTypeModule [Mitch]
- Resurrected the water color selector [Mitch]
- Reworked module browser [Mitch]
- Moved generic datafile loading to LibGimpBase [Mitch]
- Added GimpColorScale widget [Mitch, Sven]
- Added GimpPickButton widget [Mitch]
- Added a color selector dock [Mitch]
- Added new layer modes (Softlight, Grain Extract, Grain Merge) [UnNamed]
- Lots of bug fixes
Other contributors:
Maurits Rijk, Michael Niedermayer, Garry R. Osgood
Overview of Changes in GIMP 1.3.9
=================================
- Some minor improvements to the text tool [Sven]

View File

@ -49,6 +49,9 @@ static const GEnumValue gimp_layer_mode_effects_enum_values[] =
{ GIMP_DODGE_MODE, "GIMP_DODGE_MODE", "dodge-mode" },
{ GIMP_BURN_MODE, "GIMP_BURN_MODE", "burn-mode" },
{ GIMP_HARDLIGHT_MODE, "GIMP_HARDLIGHT_MODE", "hardlight-mode" },
{ GIMP_SOFTLIGHT_MODE, "GIMP_SOFTLIGHT_MODE", "softlight-mode" },
{ GIMP_GRAIN_EXTRACT_MODE, "GIMP_GRAIN_EXTRACT_MODE", "grain-extract-mode" },
{ GIMP_GRAIN_MERGE_MODE, "GIMP_GRAIN_MERGE_MODE", "grain-merge-mode" },
{ GIMP_COLOR_ERASE_MODE, "GIMP_COLOR_ERASE_MODE", "color-erase-mode" },
{ 0, NULL, NULL }
};

View File

@ -73,6 +73,9 @@ typedef enum
GIMP_DODGE_MODE,
GIMP_BURN_MODE,
GIMP_HARDLIGHT_MODE,
GIMP_SOFTLIGHT_MODE,
GIMP_GRAIN_EXTRACT_MODE,
GIMP_GRAIN_MERGE_MODE,
GIMP_COLOR_ERASE_MODE,
GIMP_ERASE_MODE, /*< skip >*/
GIMP_REPLACE_MODE, /*< skip >*/

View File

@ -701,6 +701,7 @@ burn_pixels (const guchar *src1,
}
}
static inline void
hardlight_pixels (const guchar *src1,
const guchar *src2,
@ -739,6 +740,113 @@ hardlight_pixels (const guchar *src1,
}
static inline void
softlight_pixels (const guchar *src1,
const guchar *src2,
guchar *dest,
guint length,
guint bytes1,
guint bytes2)
{
const guint has_alpha1 = HAS_ALPHA (bytes1);
const guint has_alpha2 = HAS_ALPHA (bytes2);
const guint alpha = (has_alpha1 || has_alpha2) ? MAX (bytes1, bytes2) - 1 : bytes1;
guint b, tmpS, tmpM, tmp1, tmp2, tmp3;
while (length --)
{
for (b = 0; b < alpha; b++)
{
/* Mix multiply and screen */
tmpM = INT_MULT (src1[b], src2[b], tmpM);
tmpS = 255 - INT_MULT((255 - src1[b]), (255 - src2[b]), tmp1);
dest[b] = INT_MULT ((255 - src1[b]), tmpM, tmp2) +
INT_MULT (src1[b], tmpS, tmp3);
}
if (has_alpha1 && has_alpha2)
dest[alpha] = MIN (src1[alpha], src2[alpha]);
else if (has_alpha2)
dest[alpha] = src2[alpha];
src1 += bytes1;
src2 += bytes2;
dest += bytes2;
}
}
static inline void
grain_extract_pixels (const guchar *src1,
const guchar *src2,
guchar *dest,
guint length,
guint bytes1,
guint bytes2)
{
guint alpha, b;
gint diff;
const guint has_alpha1 = HAS_ALPHA (bytes1);
const guint has_alpha2 = HAS_ALPHA (bytes2);
alpha = (has_alpha1 || has_alpha2) ? MAX (bytes1, bytes2) - 1 : bytes1;
while (length --)
{
for (b = 0; b < alpha; b++)
{
diff = src1[b] - src2[b] + 128;
dest[b] = (guchar) CLAMP (diff, 0, 255);
}
if (has_alpha1 && has_alpha2)
dest[alpha] = MIN (src1[alpha], src2[alpha]);
else if (has_alpha2)
dest[alpha] = src2[alpha];
src1 += bytes1;
src2 += bytes2;
dest += bytes2;
}
}
static inline void
grain_merge_pixels (const guchar *src1,
const guchar *src2,
guchar *dest,
guint length,
guint bytes1,
guint bytes2)
{
gint alpha, b;
gint sum;
const guint has_alpha1 = HAS_ALPHA (bytes1);
const guint has_alpha2 = HAS_ALPHA (bytes2);
alpha = (has_alpha1 || has_alpha2) ? MAX (bytes1, bytes2) - 1 : bytes1;
while (length --)
{
for (b = 0; b < alpha; b++)
{
/* Add, re-center and clip. */
sum = src1[b] + src2[b] - 128;
dest[b] = (guchar) CLAMP (sum, 0, 255);
}
if (has_alpha1 && has_alpha2)
dest[alpha] = MIN (src1[alpha], src2[alpha]);
else if (has_alpha2)
dest[alpha] = src2[alpha];
src1 += bytes1;
src2 += bytes2;
dest += bytes2;
}
}
static inline void
add_pixels (const guchar *src1,
const guchar *src2,
@ -1668,4 +1776,26 @@ layer_hardlight_mode (struct apply_layer_mode_struct *alms)
hardlight_pixels (alms->src1, alms->src2, *(alms->dest), alms->length,
alms->bytes1, alms->bytes2);
}
static void
layer_softlight_mode (struct apply_layer_mode_struct *alms)
{
softlight_pixels (alms->src1, alms->src2, *(alms->dest), alms->length,
alms->bytes1, alms->bytes2);
}
static void
layer_grain_extract_mode (struct apply_layer_mode_struct *alms)
{
grain_extract_pixels (alms->src1, alms->src2, *(alms->dest), alms->length,
alms->bytes1, alms->bytes2);
}
static void
layer_grain_merge_mode (struct apply_layer_mode_struct *alms)
{
grain_merge_pixels (alms->src1, alms->src2, *(alms->dest), alms->length,
alms->bytes1, alms->bytes2);
}
#endif /* __PAINT_FUNCS_GENERIC_H__ */

View File

@ -86,6 +86,9 @@ static const LayerMode layer_modes[] =
{ FALSE, FALSE, FALSE, }, /* GIMP_DODGE_MODE */
{ FALSE, FALSE, FALSE, }, /* GIMP_BURN_MODE */
{ FALSE, FALSE, FALSE, }, /* GIMP_HARDLIGHT_MODE */
{ FALSE, FALSE, FALSE, }, /* GIMP_SOFTLIGHT_MODE */
{ FALSE, FALSE, FALSE, }, /* GIMP_GRAIN_EXTRACT_MODE */
{ FALSE, FALSE, FALSE, }, /* GIMP_GRAIN_MERGE_MODE */
{ TRUE, FALSE, TRUE, }, /* GIMP_COLOR_ERASE_MODE */
{ TRUE, FALSE, TRUE, }, /* GIMP_ERASE_MODE */
{ TRUE, TRUE, TRUE, }, /* GIMP_REPLACE_MODE */
@ -114,10 +117,13 @@ static LayerModeFunc layer_mode_funcs[] =
layer_dodge_mode,
layer_burn_mode,
layer_hardlight_mode,
layer_softlight_mode,
layer_grain_extract_mode,
layer_grain_merge_mode,
layer_color_erase_mode,
layer_erase_mode,
layer_replace_mode,
layer_anti_erase_mode,
layer_anti_erase_mode
};
/* Local function prototypes */

View File

@ -145,7 +145,7 @@ static ProcArg brushes_popup_inargs[] =
{
GIMP_PDB_INT32,
"paint_mode",
"The initial paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The initial paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
}
};
@ -312,7 +312,7 @@ static ProcArg brushes_set_popup_inargs[] =
{
GIMP_PDB_INT32,
"paint_mode",
"The initial paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The initial paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
}
};

View File

@ -450,7 +450,7 @@ static ProcArg brushes_get_paint_mode_outargs[] =
{
GIMP_PDB_INT32,
"paint_mode",
"The paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
}
};
@ -492,7 +492,7 @@ static ProcArg brushes_set_paint_mode_inargs[] =
{
GIMP_PDB_INT32,
"paint_mode",
"The paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
}
};
@ -595,7 +595,7 @@ static ProcArg brushes_get_brush_data_outargs[] =
{
GIMP_PDB_INT32,
"paint_mode",
"The paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The paint mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
},
{
GIMP_PDB_INT32,

View File

@ -202,7 +202,7 @@ static ProcArg layer_new_inargs[] =
{
GIMP_PDB_INT32,
"mode",
"The layer combination mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The layer combination mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
}
};

View File

@ -156,7 +156,7 @@ static ProcArg blend_inargs[] =
{
GIMP_PDB_INT32,
"paint_mode",
"The paint application mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The paint application mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
},
{
GIMP_PDB_INT32,
@ -304,7 +304,7 @@ static ProcArg bucket_fill_inargs[] =
{
GIMP_PDB_INT32,
"paint_mode",
"The paint application mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_COLOR_ERASE_MODE (19) }"
"The paint application mode: { GIMP_NORMAL_MODE (0), GIMP_DISSOLVE_MODE (1), GIMP_BEHIND_MODE (2), GIMP_MULTIPLY_MODE (3), GIMP_SCREEN_MODE (4), GIMP_OVERLAY_MODE (5), GIMP_DIFFERENCE_MODE (6), GIMP_ADDITION_MODE (7), GIMP_SUBTRACT_MODE (8), GIMP_DARKEN_ONLY_MODE (9), GIMP_LIGHTEN_ONLY_MODE (10), GIMP_HUE_MODE (11), GIMP_SATURATION_MODE (12), GIMP_COLOR_MODE (13), GIMP_VALUE_MODE (14), GIMP_DIVIDE_MODE (15), GIMP_DODGE_MODE (16), GIMP_BURN_MODE (17), GIMP_HARDLIGHT_MODE (18), GIMP_SOFTLIGHT_MODE (19), GIMP_GRAIN_EXTRACT_MODE (20), GIMP_GRAIN_MERGE_MODE (21), GIMP_COLOR_ERASE_MODE (22) }"
},
{
GIMP_PDB_FLOAT,

View File

@ -55,6 +55,9 @@ gimp_paint_mode_menu_new (GtkSignalFunc callback,
_("Dodge"), (gpointer) GIMP_DODGE_MODE, NULL,
_("Burn"), (gpointer) GIMP_BURN_MODE, NULL,
_("Hard Light"), (gpointer) GIMP_HARDLIGHT_MODE, NULL,
_("Soft Light"), (gpointer) GIMP_SOFTLIGHT_MODE, NULL,
_("Grain Extract"), (gpointer) GIMP_GRAIN_EXTRACT_MODE, NULL,
_("Grain Merge"), (gpointer) GIMP_GRAIN_MERGE_MODE, NULL,
"---", (gpointer) NULL, NULL,
_("Difference"), (gpointer) GIMP_DIFFERENCE_MODE, NULL,
_("Addition"), (gpointer) GIMP_ADDITION_MODE, NULL,
@ -85,6 +88,9 @@ gimp_paint_mode_menu_new (GtkSignalFunc callback,
_("Dodge"), (gpointer) GIMP_DODGE_MODE, NULL,
_("Burn"), (gpointer) GIMP_BURN_MODE, NULL,
_("Hard Light"), (gpointer) GIMP_HARDLIGHT_MODE, NULL,
_("Soft Light"), (gpointer) GIMP_SOFTLIGHT_MODE, NULL,
_("Grain Extract"), (gpointer) GIMP_GRAIN_EXTRACT_MODE, NULL,
_("Grain Merge"), (gpointer) GIMP_GRAIN_MERGE_MODE, NULL,
"---", (gpointer) NULL, NULL,
_("Difference"), (gpointer) GIMP_DIFFERENCE_MODE, NULL,
_("Addition"), (gpointer) GIMP_ADDITION_MODE, NULL,

View File

@ -246,6 +246,9 @@ Enums and definitions.
@GIMP_DODGE_MODE:
@GIMP_BURN_MODE:
@GIMP_HARDLIGHT_MODE:
@GIMP_SOFTLIGHT_MODE:
@GIMP_GRAIN_EXTRACT_MODE:
@GIMP_GRAIN_MERGE_MODE:
@GIMP_COLOR_ERASE_MODE:
<!-- ##### ENUM GimpMaskApplyMode ##### -->

View File

@ -206,6 +206,9 @@ typedef enum
GIMP_DODGE_MODE,
GIMP_BURN_MODE,
GIMP_HARDLIGHT_MODE,
GIMP_SOFTLIGHT_MODE,
GIMP_GRAIN_EXTRACT_MODE,
GIMP_GRAIN_MERGE_MODE,
GIMP_COLOR_ERASE_MODE
} GimpLayerModeEffects;

View File

@ -146,7 +146,10 @@ init_generated_constants (void)
setvar (cintern ("DODGE-MODE"), flocons (16), NIL);
setvar (cintern ("BURN-MODE"), flocons (17), NIL);
setvar (cintern ("HARDLIGHT-MODE"), flocons (18), NIL);
setvar (cintern ("COLOR-ERASE-MODE"), flocons (19), NIL);
setvar (cintern ("SOFTLIGHT-MODE"), flocons (19), NIL);
setvar (cintern ("GRAIN-EXTRACT-MODE"), flocons (20), NIL);
setvar (cintern ("GRAIN-MERGE-MODE"), flocons (21), NIL);
setvar (cintern ("COLOR-ERASE-MODE"), flocons (22), NIL);
setvar (cintern ("MASK-APPLY"), flocons (0), NIL);
setvar (cintern ("MASK-DISCARD"), flocons (1), NIL);

View File

@ -119,7 +119,8 @@ package Gimp::CodeGen::enums;
GIMP_SATURATION_MODE GIMP_COLOR_MODE
GIMP_VALUE_MODE GIMP_DIVIDE_MODE GIMP_DODGE_MODE
GIMP_BURN_MODE GIMP_HARDLIGHT_MODE
GIMP_COLOR_ERASE_MODE) ],
GIMP_SOFTLIGHT_MODE GIMP_GRAIN_EXTRACT_MODE
GIMP_GRAIN_MERGE_MODE GIMP_COLOR_ERASE_MODE) ],
mapping => { GIMP_NORMAL_MODE => '0',
GIMP_DISSOLVE_MODE => '1',
GIMP_BEHIND_MODE => '2',
@ -139,7 +140,10 @@ package Gimp::CodeGen::enums;
GIMP_DODGE_MODE => '16',
GIMP_BURN_MODE => '17',
GIMP_HARDLIGHT_MODE => '18',
GIMP_COLOR_ERASE_MODE => '19' }
GIMP_SOFTLIGHT_MODE => '19',
GIMP_GRAIN_EXTRACT_MODE => '20',
GIMP_GRAIN_MERGE_MODE => '21',
GIMP_COLOR_ERASE_MODE => '22' }
},
GimpTransferMode =>
{ contig => 1,