GeglPad * gegl_pad_get_connected_to (GeglPad *self) { GeglPad *pad = NULL; g_return_val_if_fail (GEGL_IS_PAD (self), NULL); if (gegl_pad_is_input (self) && gegl_pad_get_num_connections (self) == 1) { GeglConnection *connection = g_slist_nth_data (self->connections, 0); pad = gegl_connection_get_source_pad (connection); } return pad; }
void gegl_dot_util_add_connection (GString *string, GeglConnection *connection) { GeglNode *source; GeglNode *sink; GeglPad *source_pad; GeglPad *sink_pad; source = gegl_connection_get_source_node (connection); sink = gegl_connection_get_sink_node (connection); source_pad = gegl_connection_get_source_pad (connection); sink_pad = gegl_connection_get_sink_pad (connection); g_string_append_printf (string, "op_%p:%s -> op_%p:%s;\n", source, gegl_pad_get_name (source_pad), sink, gegl_pad_get_name (sink_pad)); }