mirror of https://github.com/GNOME/gimp.git
Factor out configuring the layer's mode node to a utility function
This commit is contained in:
parent
e4e7bf8471
commit
12ac8ce899
|
@ -173,6 +173,8 @@ static void gimp_layer_layer_mask_update (GimpDrawable *layer_mask,
|
|||
gint height,
|
||||
GimpLayer *layer);
|
||||
|
||||
static void gimp_layer_sync_mode_node (GimpLayer *layer);
|
||||
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE (GimpLayer, gimp_layer, GIMP_TYPE_DRAWABLE,
|
||||
G_IMPLEMENT_INTERFACE (GIMP_TYPE_PICKABLE,
|
||||
|
@ -780,12 +782,9 @@ gimp_layer_get_node (GimpItem *item)
|
|||
gegl_node_connect_to (layer->opacity_node, "output",
|
||||
offset_node, "input");
|
||||
|
||||
mode_node = gimp_drawable_get_mode_node (drawable);
|
||||
gimp_layer_sync_mode_node (layer);
|
||||
|
||||
gegl_node_set (mode_node,
|
||||
"operation", "gimp:point-layer-mode",
|
||||
"blend-mode", layer->mode,
|
||||
NULL);
|
||||
mode_node = gimp_drawable_get_mode_node (drawable);
|
||||
|
||||
gegl_node_connect_to (offset_node, "output",
|
||||
mode_node, "aux");
|
||||
|
@ -1016,6 +1015,22 @@ gimp_layer_layer_mask_update (GimpDrawable *drawable,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_layer_sync_mode_node (GimpLayer *layer)
|
||||
{
|
||||
if (layer->opacity_node)
|
||||
{
|
||||
GeglNode *mode_node;
|
||||
|
||||
mode_node = gimp_drawable_get_mode_node (GIMP_DRAWABLE (layer));
|
||||
|
||||
gegl_node_set (mode_node,
|
||||
"operation", "gimp:point-layer-mode",
|
||||
"blend-mode", layer->mode,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* public functions */
|
||||
|
||||
|
@ -2001,17 +2016,7 @@ gimp_layer_set_mode (GimpLayer *layer,
|
|||
g_signal_emit (layer, layer_signals[MODE_CHANGED], 0);
|
||||
g_object_notify (G_OBJECT (layer), "mode");
|
||||
|
||||
if (layer->opacity_node)
|
||||
{
|
||||
GeglNode *mode_node;
|
||||
|
||||
mode_node = gimp_drawable_get_mode_node (GIMP_DRAWABLE (layer));
|
||||
|
||||
gegl_node_set (mode_node,
|
||||
"operation", "gimp:point-layer-mode",
|
||||
"blend-mode", layer->mode,
|
||||
NULL);
|
||||
}
|
||||
gimp_layer_sync_mode_node (layer);
|
||||
|
||||
gimp_drawable_update (GIMP_DRAWABLE (layer),
|
||||
0, 0,
|
||||
|
|
Loading…
Reference in New Issue