app: add blend-trc and composite-mode properties to GimpOperationPointLayerMode

and set them to unused default values.
This commit is contained in:
Michael Natterer 2017-01-17 15:09:17 +01:00
parent dd3eec6198
commit 6e72d3eddf
5 changed files with 89 additions and 8 deletions

View file

@ -158,6 +158,24 @@ gimp_layer_mode_is_linear (GimpLayerMode mode)
return FALSE;
}
GimpLayerBlendTRC
gimp_layer_mode_get_blend_trc (GimpLayerMode mode)
{
return GIMP_LAYER_BLEND_RGB_LINEAR;
}
GimpLayerBlendTRC
gimp_layer_mode_get_composite_trc (GimpLayerMode mode)
{
return GIMP_LAYER_BLEND_RGB_LINEAR;
}
GimpLayerCompositeMode
gimp_layer_mode_get_composite_mode (GimpLayerMode mode)
{
return GIMP_LAYER_COMPOSITE_OVER;
}
const gchar *
gimp_layer_mode_get_operation (GimpLayerMode mode)
{

View file

@ -23,10 +23,14 @@
#define __GIMP_LAYER_MODES_H__
gboolean gimp_layer_mode_is_legacy (GimpLayerMode mode);
gboolean gimp_layer_mode_is_linear (GimpLayerMode mode);
gboolean gimp_layer_mode_is_legacy (GimpLayerMode mode);
gboolean gimp_layer_mode_is_linear (GimpLayerMode mode);
const gchar * gimp_layer_mode_get_operation (GimpLayerMode mode);
GimpLayerBlendTRC gimp_layer_mode_get_blend_trc (GimpLayerMode mode);
GimpLayerBlendTRC gimp_layer_mode_get_composite_trc (GimpLayerMode mode);
GimpLayerCompositeMode gimp_layer_mode_get_composite_mode (GimpLayerMode mode);
const gchar * gimp_layer_mode_get_operation (GimpLayerMode mode);
#endif /* __GIMP_LAYER_MODES_H__ */

View file

@ -157,9 +157,12 @@ gimp_gegl_mode_node_set_mode (GeglNode *node,
* all its properties
*/
gegl_node_set (node,
"operation", gimp_layer_mode_get_operation (mode),
"opacity", opacity,
"linear", gimp_layer_mode_is_linear (mode),
"operation", gimp_layer_mode_get_operation (mode),
"opacity", opacity,
"linear", gimp_layer_mode_is_linear (mode),
"blend-trc", gimp_layer_mode_get_blend_trc (mode),
"composite-trc", gimp_layer_mode_get_composite_trc (mode),
"composite-mode", gimp_layer_mode_get_composite_mode (mode),
NULL);
}

View file

@ -36,7 +36,10 @@ enum
{
PROP_0,
PROP_LINEAR,
PROP_OPACITY
PROP_OPACITY,
PROP_BLEND_TRC,
PROP_COMPOSITE_TRC,
PROP_COMPOSITE_MODE
};
@ -88,6 +91,32 @@ gimp_operation_point_layer_mode_class_init (GimpOperationPointLayerModeClass *kl
0.0, 1.0, 1.0,
GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_BLEND_TRC,
g_param_spec_enum ("blend-trc",
NULL, NULL,
GIMP_TYPE_LAYER_BLEND_TRC,
GIMP_LAYER_BLEND_RGB_LINEAR,
GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_COMPOSITE_TRC,
g_param_spec_enum ("composite-trc",
NULL, NULL,
GIMP_TYPE_LAYER_BLEND_TRC,
GIMP_LAYER_BLEND_RGB_LINEAR,
GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_COMPOSITE_MODE,
g_param_spec_enum ("composite-mode",
NULL, NULL,
GIMP_TYPE_LAYER_COMPOSITE_MODE,
GIMP_LAYER_COMPOSITE_SRC_OVER,
GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
}
static void
@ -113,6 +142,18 @@ gimp_operation_point_layer_mode_set_property (GObject *object,
self->opacity = g_value_get_double (value);
break;
case PROP_BLEND_TRC:
self->blend_trc = g_value_get_enum (value);
break;
case PROP_COMPOSITE_TRC:
self->composite_trc = g_value_get_enum (value);
break;
case PROP_COMPOSITE_MODE:
self->composite_mode = g_value_get_enum (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@ -137,6 +178,18 @@ gimp_operation_point_layer_mode_get_property (GObject *object,
g_value_set_double (value, self->opacity);
break;
case PROP_BLEND_TRC:
g_value_set_enum (value, self->blend_trc);
break;
case PROP_COMPOSITE_TRC:
g_value_set_enum (value, self->composite_trc);
break;
case PROP_COMPOSITE_MODE:
g_value_set_enum (value, self->composite_mode);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@ -176,7 +229,7 @@ gimp_operation_point_layer_mode_process (GeglOperation *operation,
{
GObject *input;
/* get the raw values this does not increase the reference count */
/* get the raw values, this does not increase the reference count */
input = gegl_operation_context_get_object (context, "input");
if (input)

View file

@ -46,6 +46,9 @@ struct _GimpOperationPointLayerMode
gboolean linear;
gdouble opacity;
GimpLayerBlendTRC blend_trc;
GimpLayerBlendTRC composite_trc;
GimpLayerCompositeMode composite_mode;
};