app: rename gimp_gegl_node_set_layer_mode() to gimp_gegl_mode_node_set()
and have it set mode and opacity at the same time, so we don't reset opacity each time we set the mode.
This commit is contained in:
@ -946,12 +946,10 @@ gimp_drawable_sync_source_node (GimpDrawable *drawable,
|
|||||||
"y", (gdouble) (fs_off_y - off_y),
|
"y", (gdouble) (fs_off_y - off_y),
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
gimp_gegl_node_set_layer_mode (drawable->private->fs_mode_node,
|
gimp_gegl_mode_node_set (drawable->private->fs_mode_node,
|
||||||
gimp_layer_get_mode (fs), FALSE);
|
gimp_layer_get_mode (fs),
|
||||||
|
gimp_layer_get_opacity (fs),
|
||||||
gegl_node_set (drawable->private->fs_mode_node,
|
FALSE);
|
||||||
"opacity", gimp_layer_get_opacity (fs),
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -880,10 +880,7 @@ gimp_layer_get_node (GimpItem *item)
|
|||||||
*/
|
*/
|
||||||
mode_node = gimp_drawable_get_mode_node (drawable);
|
mode_node = gimp_drawable_get_mode_node (drawable);
|
||||||
|
|
||||||
gimp_gegl_node_set_layer_mode (mode_node, layer->mode, FALSE);
|
gimp_gegl_mode_node_set (mode_node, layer->mode, layer->opacity, FALSE);
|
||||||
gegl_node_set (mode_node,
|
|
||||||
"opacity", layer->opacity,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
/* the layer's offset node */
|
/* the layer's offset node */
|
||||||
layer->layer_offset_node = gegl_node_new_child (node,
|
layer->layer_offset_node = gegl_node_new_child (node,
|
||||||
@ -1939,9 +1936,12 @@ gimp_layer_set_opacity (GimpLayer *layer,
|
|||||||
|
|
||||||
if (gimp_item_peek_node (GIMP_ITEM (layer)))
|
if (gimp_item_peek_node (GIMP_ITEM (layer)))
|
||||||
{
|
{
|
||||||
gegl_node_set (gimp_drawable_get_mode_node (GIMP_DRAWABLE (layer)),
|
GeglNode *mode_node;
|
||||||
"opacity", layer->opacity,
|
|
||||||
NULL);
|
mode_node = gimp_drawable_get_mode_node (GIMP_DRAWABLE (layer));
|
||||||
|
|
||||||
|
gimp_gegl_mode_node_set (mode_node,
|
||||||
|
layer->mode, layer->opacity, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
gimp_drawable_update (GIMP_DRAWABLE (layer),
|
gimp_drawable_update (GIMP_DRAWABLE (layer),
|
||||||
@ -1986,7 +1986,8 @@ gimp_layer_set_mode (GimpLayer *layer,
|
|||||||
|
|
||||||
mode_node = gimp_drawable_get_mode_node (GIMP_DRAWABLE (layer));
|
mode_node = gimp_drawable_get_mode_node (GIMP_DRAWABLE (layer));
|
||||||
|
|
||||||
gimp_gegl_node_set_layer_mode (mode_node, layer->mode, FALSE);
|
gimp_gegl_mode_node_set (mode_node,
|
||||||
|
layer->mode, layer->opacity, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
gimp_drawable_update (GIMP_DRAWABLE (layer),
|
gimp_drawable_update (GIMP_DRAWABLE (layer),
|
||||||
|
@ -191,11 +191,7 @@ gimp_gegl_create_apply_buffer_node (GeglBuffer *buffer,
|
|||||||
mode_node = gegl_node_new_child (node,
|
mode_node = gegl_node_new_child (node,
|
||||||
"operation", "gimp:normal-mode",
|
"operation", "gimp:normal-mode",
|
||||||
NULL);
|
NULL);
|
||||||
gimp_gegl_node_set_layer_mode (mode_node, mode, FALSE);
|
gimp_gegl_mode_node_set (mode_node, mode, opacity, FALSE);
|
||||||
|
|
||||||
gegl_node_set (mode_node,
|
|
||||||
"opacity", opacity,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
gegl_node_connect_to (buffer_source, "output",
|
gegl_node_connect_to (buffer_source, "output",
|
||||||
mode_node, "aux");
|
mode_node, "aux");
|
||||||
@ -267,9 +263,10 @@ gimp_gegl_add_buffer_source (GeglNode *parent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gimp_gegl_node_set_layer_mode (GeglNode *node,
|
gimp_gegl_mode_node_set (GeglNode *node,
|
||||||
GimpLayerModeEffects mode,
|
GimpLayerModeEffects mode,
|
||||||
gboolean premultiplied)
|
gdouble opacity,
|
||||||
|
gboolean premultiplied)
|
||||||
{
|
{
|
||||||
const gchar *operation = "gimp:normal-mode";
|
const gchar *operation = "gimp:normal-mode";
|
||||||
|
|
||||||
@ -309,6 +306,7 @@ gimp_gegl_node_set_layer_mode (GeglNode *node,
|
|||||||
|
|
||||||
gegl_node_set (node,
|
gegl_node_set (node,
|
||||||
"operation", operation,
|
"operation", operation,
|
||||||
|
"opacity", opacity,
|
||||||
"premultiplied", premultiplied,
|
"premultiplied", premultiplied,
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
@ -46,8 +46,9 @@ GeglNode * gimp_gegl_add_buffer_source (GeglNode *parent,
|
|||||||
gint offset_x,
|
gint offset_x,
|
||||||
gint offset_y);
|
gint offset_y);
|
||||||
|
|
||||||
void gimp_gegl_node_set_layer_mode (GeglNode *node,
|
void gimp_gegl_mode_node_set (GeglNode *node,
|
||||||
GimpLayerModeEffects mode,
|
GimpLayerModeEffects mode,
|
||||||
|
gdouble opacity,
|
||||||
gboolean premultiplied);
|
gboolean premultiplied);
|
||||||
void gimp_gegl_node_set_matrix (GeglNode *node,
|
void gimp_gegl_node_set_matrix (GeglNode *node,
|
||||||
const GimpMatrix3 *matrix);
|
const GimpMatrix3 *matrix);
|
||||||
|
Reference in New Issue
Block a user