mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-22 20:41:43 +00:00
app: add gimp_item_peek_node() and use it
so we can avoid peeking into the GimpItem struct if we want to get to the item's node without implicitly creating it if it doesn't already exist.
This commit is contained in:
parent
44d969c146
commit
5f46061830
|
@ -355,17 +355,20 @@ static void
|
|||
gimp_drawable_visibility_changed (GimpItem *item)
|
||||
{
|
||||
GimpDrawable *drawable = GIMP_DRAWABLE (item);
|
||||
GeglNode *item_node;
|
||||
|
||||
/* don't use gimp_item_get_node() because that would create
|
||||
* the node.
|
||||
*/
|
||||
if (item->node)
|
||||
item_node = gimp_item_peek_node (item);
|
||||
|
||||
if (item_node)
|
||||
{
|
||||
GeglNode *input;
|
||||
GeglNode *output;
|
||||
|
||||
input = gegl_node_get_input_proxy (item->node, "input");
|
||||
output = gegl_node_get_output_proxy (item->node, "output");
|
||||
input = gegl_node_get_input_proxy (item_node, "input");
|
||||
output = gegl_node_get_output_proxy (item_node, "output");
|
||||
|
||||
if (gimp_item_get_visible (item) &&
|
||||
! (GIMP_IS_LAYER (item) &&
|
||||
|
|
|
@ -1421,6 +1421,14 @@ gimp_item_get_node (GimpItem *item)
|
|||
return GIMP_ITEM_GET_CLASS (item)->get_node (item);
|
||||
}
|
||||
|
||||
GeglNode *
|
||||
gimp_item_peek_node (GimpItem *item)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_ITEM (item), NULL);
|
||||
|
||||
return item->node;
|
||||
}
|
||||
|
||||
GeglNode *
|
||||
gimp_item_get_offset_node (GimpItem *item)
|
||||
{
|
||||
|
|
|
@ -247,6 +247,7 @@ gboolean gimp_item_stroke (GimpItem *item,
|
|||
GError **error);
|
||||
|
||||
GeglNode * gimp_item_get_node (GimpItem *item);
|
||||
GeglNode * gimp_item_peek_node (GimpItem *item);
|
||||
GeglNode * gimp_item_get_offset_node (GimpItem *item);
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue