### Class

# Gegl Node

#### Description

    final class Gegl.Node : GObject.Object {
      /* No available fields */
    }

No description available.

#### Hierarchy

#### Ancestors

- GObject

#### Constructors

###### gegl_node_new

Create a new graph that can contain further processing nodes.

###### gegl_node_new_from_file

The `GeglNode` returned contains the graph described by the tree of stacks in the XML document. The tree is connected to the “output” pad of the returned node and thus can be used directly for processing.

###### gegl_node_new_from_serialized

No description available.

###### gegl_node_new_from_xml

The `GeglNode` returned contains the graph described by the tree of stacks in the XML document. The tree is connected to the “output” pad of the returned node and thus can be used directly for processing.

#### Instance methods

###### gegl_node_add_child

Make the GeglNode `graph`, take a reference on child. This reference will be dropped when the reference count on the graph reaches zero.

###### gegl_node_blit

Render a rectangular region from a node.

###### gegl_node_blit_buffer

Render a rectangular region from a node to the given buffer.

###### gegl_node_connect

Makes a connection between the pads of two nodes, one pad should be a source pad the other a sink pad, order does not matter.

###### gegl_node_connect_from

Makes a connection between the pads of two nodes.

###### gegl_node_connect_to

Makes a connection between the pads of two nodes.

###### gegl_node_create_child

Creates a new processing node that performs the specified operation. All properties of the operation will have their default values. This is included as an addition to #gegl_node_new_child in the public API to have a non varargs entry point for bindings as well as sometimes simpler more readable code.

###### gegl_node_detect

Performs hit detection by returning the node providing data at a given coordinate pair. Currently operates only on bounding boxes and not pixel data.

###### gegl_node_disconnect

Disconnects node connected to `input_pad` of `node` (if any).

###### gegl_node_find_property

No description available.

###### gegl_node_get

## Gets properties of a `GeglNode`.

double level; char *path;

###### gegl_node_get_bounding_box

Returns the position and dimensions of a rectangle spanning the area defined by a node.

###### gegl_node_get_children

No description available.

###### gegl_node_get_consumers

Retrieve which pads on which nodes are connected to a named output_pad, and the number of connections. Both the location for the generated nodes array and pads array can be left as NULL. If they are non NULL both should be freed with g_free. The arrays are NULL terminated.

###### gegl_node_get_gegl_operation

No description available.

###### gegl_node_get_input_proxy

Proxies are used to route between nodes of a subgraph contained within a node.

###### gegl_node_get_operation

No description available.

###### gegl_node_get_output_proxy

Proxies are used to route between nodes of a subgraph contained within a node.

###### gegl_node_get_pad_description

No description available.

###### gegl_node_get_pad_label

No description available.

###### gegl_node_get_parent

Returns a GeglNode that keeps a reference on a child.

###### gegl_node_get_passthrough

No description available.

###### gegl_node_get_producer

No description available.

###### gegl_node_get_property

This is mainly included for language bindings. Using #gegl_node_get is more convenient when programming in C.

###### gegl_node_get_valist

Valist version of #gegl_node_get.

###### gegl_node_has_pad

Returns TRUE if the node has a pad with the specified name.

###### gegl_node_introspectable_get_bounding_box

Returns the position and dimensions of a rectangle spanning the area defined by a node.

###### gegl_node_introspectable_get_property

No description available.

###### gegl_node_is_graph

No description available.

###### gegl_node_link

This is equivalent to gegl_node_connect (source, “output”, sink, “input”);

###### gegl_node_link_many

Synthetic sugar for linking a chain of nodes with “output”->”input”. The list is NULL terminated.

###### gegl_node_list_input_pads

If the node has any input pads this function returns a null terminated array of pad names, otherwise it returns NULL. The return value can be freed with g_strfreev().

###### gegl_node_list_output_pads

If the node has any output pads this function returns a null terminated array of pad names, otherwise it returns NULL. The return value can be freed with g_strfreev().

###### gegl_node_new_child

Creates a new processing node that performs the specified operation with a NULL terminated list of key/value pairs for initial parameter values configuring the operation. Usually the first pair should be “operation” and the type of operation to be associated. If no operation is provided the node doesn’t have an initial operation and can be used to construct a subgraph with special middle-man routing nodes created with

# gegl_node_get_output_proxy and #gegl_node_get_input_proxy.

###### gegl_node_new_processor

No description available.

###### gegl_node_process

Render a composition. This can be used for instance on a node with a “png-save” operation to render all necessary data, and make it be written to file. This function wraps the usage of a GeglProcessor in a single blocking function call. If you need a non-blocking operation, then make a direct use of

# gegl_processor_work. See `GeglProcessor`.

###### gegl_node_progress

No description available.

###### gegl_node_remove_child

Removes a child from a GeglNode. The reference previously held will be dropped so increase the reference count before removing when reparenting a child between two graphs.

###### gegl_node_set

Set properties on a node, possible properties to be set are the properties of the currently set operations as well as “name” and “operation”. “operation” changes the current operations set for the node, “name” doesn’t have any role internally in GEGL.

gegl_node_set (node, “brightness”, -0.2, “contrast”, 2.0, NULL);

###### gegl_node_set_enum_as_string

No description available.

###### gegl_node_set_passthrough

No description available.

###### gegl_node_set_property

This is mainly included for language bindings. Using #gegl_node_set is more convenient when programming in C.

###### gegl_node_set_time

Sets the right value in animated properties of this node and all its dependendcies to be the specified time position.

###### gegl_node_set_valist

Valist version of #gegl_node_set.

###### gegl_node_to_xml

Returns a freshly allocated \0 terminated string containing a XML serialization of the composition produced by a node (and thus also the nodes contributing data to the specified node). To export a gegl graph, connect the internal output node to an output proxy (see

# gegl_node_get_output_proxy.) and use the proxy node as the basis

for the serialization.

###### gegl_node_to_xml_full

Returns a freshly allocated \0 terminated string containing a XML serialization of a segment of a graph from `head` to `tail` nodes. If `tail` is `NULL` then this behaves just like #gegl_node_to_xml.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Gegl.Node:cache-policy

No description available.

###### Gegl.Node:dont-cache

No description available.

###### Gegl.Node:gegl-operation

No description available.

###### Gegl.Node:name

No description available.

###### Gegl.Node:operation

No description available.

###### Gegl.Node:passthrough

No description available.

###### Gegl.Node:use-opencl

No description available.

#### Signals

###### Gegl.Node::computed

No description available.

###### Gegl.Node::invalidated

No description available.

###### Gegl.Node::progress

No description available.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.