Blame docs/gegl.h.html

Packit Service 2781ba
Packit Service 2781ba
<HTML>
Packit Service 2781ba
<HEAD>
Packit Service 2781ba
<TITLE>Enscript Output</TITLE>
Packit Service 2781ba
</HEAD>
Packit Service 2781ba
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#1F00FF" ALINK="#FF0000" VLINK="#9900DD">
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba

../gegl/gegl.h

Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/* This file is the public GEGL API
Packit Service 2781ba
 *
Packit Service 2781ba
 * GEGL is free software; you can redistribute it and/or
Packit Service 2781ba
 * modify it under the terms of the GNU Lesser General Public
Packit Service 2781ba
 * License as published by the Free Software Foundation; either
Packit Service 2781ba
 * version 3 of the License, or (at your option) any later version.
Packit Service 2781ba
 *
Packit Service 2781ba
 * GEGL is distributed in the hope that it will be useful,
Packit Service 2781ba
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 2781ba
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 2781ba
 * Lesser General Public License for more details.
Packit Service 2781ba
 *
Packit Service 2781ba
 * You should have received a copy of the GNU Lesser General Public
Packit Service 2781ba
 * License along with GEGL; if not, see <http://www.gnu.org/licenses/>.
Packit Service 2781ba
 *
Packit Service 2781ba
 * 2000-2008 © Calvin Williamson, Øyvind Kolås.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">ifndef</FONT> <FONT COLOR="#B8860B">__GEGL_H__</FONT>
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">define</FONT> <FONT COLOR="#B8860B">__GEGL_H__</FONT>
Packit Service 2781ba
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><glib-object.h></FONT>
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><babl/babl.h></FONT>
Packit Service 2781ba
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><gegl-types.h></FONT>
Packit Service 2781ba
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><gegl-buffer.h></FONT>
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><gegl-color.h></FONT>
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><gegl-curve.h></FONT>
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><gegl-path.h></FONT>
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><gegl-matrix.h></FONT>
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">include</FONT> <FONT COLOR="#BC8F8F"><gegl-version.h></FONT>
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * The GEGL API:
Packit Service 2781ba
 *
Packit Service 2781ba
 * This document is both a tutorial and a reference for the C API of GEGL.
Packit Service 2781ba
 * The concepts covered in this reference should also be applicable when
Packit Service 2781ba
 * using other languages.
Packit Service 2781ba
 *
Packit Service 2781ba
 * The core API of GEGL isn't frozen yet and feedback regarding its use as
Packit Service 2781ba
 * well as the clarity of this documentation is most welcome.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
G_BEGIN_DECLS
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Introduction:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Algorithms created with GEGL are expressed as graphs of nodes. The nodes
Packit Service 2781ba
 * have associated image processing operations. A node has output and input
Packit Service 2781ba
 * pads which can be connected. By connecting these nodes in chains a set of
Packit Service 2781ba
 * image operation filters and combinators can be applied to the image data.
Packit Service 2781ba
 *
Packit Service 2781ba
 * To make GEGL process data you request a rectangular region of a node's
Packit Service 2781ba
 * output pad to be rendered into a provided linear buffer of any (supported
Packit Service 2781ba
 * by babl) pixel format. GEGL uses information provided by the nodes to
Packit Service 2781ba
 * determine the smallest buffers needed at each stage of processing.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Initialization:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Before GEGL can be used the engine should be initialized by either calling
Packit Service 2781ba
 * #gegl_init or through the use of #gegl_get_option_group. To shut down the
Packit Service 2781ba
 * GEGL engine call #gegl_exit.
Packit Service 2781ba
 *
Packit Service 2781ba
 * ---Code sample:
Packit Service 2781ba
 * #include <gegl.h>
Packit Service 2781ba
 *
Packit Service 2781ba
 * int main(int argc, char **argv)
Packit Service 2781ba
 * {
Packit Service 2781ba
 *   gegl_init (&argc, &argv);
Packit Service 2781ba
 *       # other GEGL code
Packit Service 2781ba
 *   gegl_exit ();
Packit Service 2781ba
 * }
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_init:
Packit Service 2781ba
 * @argc: a pointer to the number of command line arguments.
Packit Service 2781ba
 * @argv: a pointer to the array of command line arguments.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Call this function before using any other GEGL functions. It will
Packit Service 2781ba
 * initialize everything needed to operate GEGL and parses some
Packit Service 2781ba
 * standard command line options.  @argc and @argv are adjusted
Packit Service 2781ba
 * accordingly so your own code will never see those standard
Packit Service 2781ba
 * arguments. gegl_init() will call g_thread_init(), unless you, or
Packit Service 2781ba
 * some other code already has initialized gthread.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Note that there is an alternative way to initialize GEGL: if you
Packit Service 2781ba
 * are calling g_option_context_parse() with the option group returned
Packit Service 2781ba
 * by #gegl_get_option_group(), you don't have to call #gegl_init() but
Packit Service 2781ba
 * you have to call g_thread_init() before any glib or glib dependant code
Packit Service 2781ba
 * yourself.
Packit Service 2781ba
 **/</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>           <FONT COLOR="#0000FF">gegl_init</FONT>                 (gint          *argc,
Packit Service 2781ba
                                          gchar       ***argv);
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_get_option_group:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns a GOptionGroup for the commandline arguments recognized
Packit Service 2781ba
 * by GEGL. You should add this group to your GOptionContext
Packit Service 2781ba
 * with g_option_context_add_group() if you are using
Packit Service 2781ba
 * g_option_context_parse() to parse your commandline arguments.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GOptionGroup * <FONT COLOR="#0000FF">gegl_get_option_group</FONT>     (<FONT COLOR="#228B22">void</FONT>);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_exit:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Call this function when you're done using GEGL. It will clean up
Packit Service 2781ba
 * caches and write/dump debug information if the correct debug flags
Packit Service 2781ba
 * are set.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>           <FONT COLOR="#0000FF">gegl_exit</FONT>                 (<FONT COLOR="#228B22">void</FONT>);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Available operations:
Packit Service 2781ba
 * Gegl provides means to check for available processing operations that
Packit Service 2781ba
 * can be used with nodes using #gegl_list_operations and for a specified
Packit Service 2781ba
 * op give a list of properties with #gegl_operation_list_properties.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_list_operations:
Packit Service 2781ba
 * @n_operations_p: return location for number of operations.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer container): An alphabetically sorted array of available operation names. The
Packit Service 2781ba
 * list should be freed with g_free after use.
Packit Service 2781ba
 * ---
Packit Service 2781ba
 * gchar **operations;
Packit Service 2781ba
 * guint   n_operations;
Packit Service 2781ba
 * gint i;
Packit Service 2781ba
 *
Packit Service 2781ba
 * operations = gegl_list_operations (&n_operations);
Packit Service 2781ba
 * g_print ("Available operations:\n");
Packit Service 2781ba
 * for (i=0; i < n_operations; i++)
Packit Service 2781ba
 *   {
Packit Service 2781ba
 *     g_print ("\t%s\n", operations[i]);
Packit Service 2781ba
 *   }
Packit Service 2781ba
 * g_free (operations);
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
gchar        **<FONT COLOR="#0000FF">gegl_list_operations</FONT>         (guint *n_operations_p);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_operation_list_properties:
Packit Service 2781ba
 * @operation_type: the name of the operation type we want to query to properties of.
Packit Service 2781ba
 * @n_properties_p: return location for number of properties.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer container): An allocated array of #GParamSpecs describing the properties
Packit Service 2781ba
 * of the operation available when a node has operation_type set.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GParamSpec** <FONT COLOR="#0000FF">gegl_operation_list_properties</FONT>           (<FONT COLOR="#228B22">const</FONT> gchar   *operation_type,
Packit Service 2781ba
                                             guint         *n_properties_p);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * GeglNode:
Packit Service 2781ba
 *
Packit Service 2781ba
 * The Node is the image processing primitive connected to create compositions
Packit Service 2781ba
 * in GEGL. The toplevel #GeglNode which contains a graph of #GeglNodes is
Packit Service 2781ba
 * created with #gegl_node_new. Using this toplevel node we can create children
Packit Service 2781ba
 * of this node which are individual processing elements using #gegl_node_new_child
Packit Service 2781ba
 *
Packit Service 2781ba
 * A node either has an associated operation or is a parent for other nodes,
Packit Service 2781ba
 * that are connected to their parent through proxies created with
Packit Service 2781ba
 * #gegl_node_get_input_proxy and #gegl_node_get_output_proxy.
Packit Service 2781ba
 *
Packit Service 2781ba
 * The properties available on a node depends on which <a
Packit Service 2781ba
 * href='operations.html'>operation</a> is specified.
Packit Service 2781ba
 *
Packit Service 2781ba
 * ---
Packit Service 2781ba
 * GeglNode *gegl, *load, *bcontrast;
Packit Service 2781ba
 *
Packit Service 2781ba
 * gegl = gegl_node_new ();
Packit Service 2781ba
 * load = gegl_node_new_child (gegl,
Packit Service 2781ba
 *                             "operation", "load",
Packit Service 2781ba
 *                             "path",      "input.png",
Packit Service 2781ba
 *                             NULL);
Packit Service 2781ba
 * bcontrast = gegl_node_new_child (gegl,
Packit Service 2781ba
 *                                  "operation", "brightness-contrast",
Packit Service 2781ba
 *                                  "brightness", 0.2,
Packit Service 2781ba
 *                                  "contrast",   1.5,
Packit Service 2781ba
 *                                  NULL);
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_new:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Create a new graph that can contain further processing nodes.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer full): A new top level #GeglNode (which can be used as a graph). When you
Packit Service 2781ba
 * are done using this graph instance it should be unreferenced with g_object_unref.
Packit Service 2781ba
 * This will also free any sub nodes created from this node.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode     * <FONT COLOR="#0000FF">gegl_node_new</FONT>             (<FONT COLOR="#228B22">void</FONT>);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_new_child:
Packit Service 2781ba
 * @parent: a #GeglNode
Packit Service 2781ba
 * @first_property_name: the first property name
Packit Service 2781ba
 * @...: first property value, optionally followed by more key/value pairs, ended
Packit Service 2781ba
 * terminated with NULL.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Creates a new processing node that performs the specified operation with
Packit Service 2781ba
 * a NULL terminated list of key/value pairs for initial parameter values
Packit Service 2781ba
 * configuring the operation. Usually the first pair should be "operation"
Packit Service 2781ba
 * and the type of operation to be associated. If no operation is provided
Packit Service 2781ba
 * the node doesn't have an initial operation and can be used to construct
Packit Service 2781ba
 * a subgraph with special middle-man routing nodes created with
Packit Service 2781ba
 * #gegl_node_get_output_proxy and #gegl_node_get_input_proxy.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer none): A newly created #GeglNode. The node will be destroyed by the parent.
Packit Service 2781ba
 * Calling g_object_unref on a node will cause the node to be dropped by the
Packit Service 2781ba
 * parent. (You may also add additional references using
Packit Service 2781ba
 * g_object_ref/g_object_unref, but in general relying on the parents reference
Packit Service 2781ba
 * counting is easiest.)
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_new_child</FONT>        (GeglNode      *parent,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *first_property_name,
Packit Service 2781ba
                                          ...) G_GNUC_NULL_TERMINATED;
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Making connections:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Nodes in GEGL are connected to each other. The resulting graph of nodes
Packit Service 2781ba
 * represents the image processing pipeline to be processed.
Packit Service 2781ba
 *
Packit Service 2781ba
 * ---
Packit Service 2781ba
 * gegl_node_link_many (background, over, png_save, NULL);
Packit Service 2781ba
 * gegl_node_connect_to (translate, "output", over, "aux");
Packit Service 2781ba
 * gegl_node_link_many (text, blur, translate, NULL);
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_connect_from:
Packit Service 2781ba
 * @sink: the node we're connecting an input to
Packit Service 2781ba
 * @input_pad_name: the name of the input pad we are connecting to
Packit Service 2781ba
 * @source: the node producing data we want to connect.
Packit Service 2781ba
 * @output_pad_name: the output pad we want to use on the source.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Makes a connection between the pads of two nodes.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns TRUE if the connection was succesfully made.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
gboolean      <FONT COLOR="#0000FF">gegl_node_connect_from</FONT>     (GeglNode      *sink,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *input_pad_name,
Packit Service 2781ba
                                          GeglNode      *source,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *output_pad_name);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_connect_to:
Packit Service 2781ba
 * @source: the node producing data we want to connect.
Packit Service 2781ba
 * @output_pad_name: the output pad we want to use on the source.
Packit Service 2781ba
 * @sink: the node we're connecting an input to
Packit Service 2781ba
 * @input_pad_name: the name of the input pad we are connecting to
Packit Service 2781ba
 *
Packit Service 2781ba
 * Makes a connection between the pads of two nodes.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns TRUE if the connection was succesfully made.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
gboolean      <FONT COLOR="#0000FF">gegl_node_connect_to</FONT>       (GeglNode      *source,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *output_pad_name,
Packit Service 2781ba
                                          GeglNode      *sink,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *input_pad_name);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_link:
Packit Service 2781ba
 * @source: the producer of data.
Packit Service 2781ba
 * @sink: the consumer of data.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Synthetic sugar for linking the "output" pad of @source to the "input"
Packit Service 2781ba
 * pad of @sink.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_link</FONT>             (GeglNode      *source,
Packit Service 2781ba
                                          GeglNode      *sink);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_link_many:
Packit Service 2781ba
 * @source: the producer of data.
Packit Service 2781ba
 * @first_sink: the first consumer of data.
Packit Service 2781ba
 * @...: NULL, or optionally more consumers followed by NULL.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Synthetic sugar for linking a chain of nodes with "input"->"output". The
Packit Service 2781ba
 * list is NULL terminated.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_link_many</FONT>        (GeglNode      *source,
Packit Service 2781ba
                                          GeglNode      *first_sink,
Packit Service 2781ba
                                          ...) G_GNUC_NULL_TERMINATED;
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_disconnect:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @input_pad: the input pad to disconnect.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Disconnects node connected to @input_pad of @node (if any).
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns TRUE if a connection was broken.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
gboolean      <FONT COLOR="#0000FF">gegl_node_disconnect</FONT>       (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *input_pad);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Properties:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Properties can be set either when creating the node with
Packit Service 2781ba
 * #gegl_node_new_child as well as later when changing the initial
Packit Service 2781ba
 * value with #gegl_node_set.
Packit Service 2781ba
 *
Packit Service 2781ba
 * To see what properties are available for a given operation look in the <a
Packit Service 2781ba
 * href='operations.html'>Operations reference</a> or use
Packit Service 2781ba
 * #gegl_node_get.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_set:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @first_property_name: name of the first property to set
Packit Service 2781ba
 * @...: value for the first property, followed optionally by more name/value
Packit Service 2781ba
 * pairs, followed by NULL.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Set properties on a node, possible properties to be set are the properties
Packit Service 2781ba
 * of the currently set operations as well as <em>"name"</em> and
Packit Service 2781ba
 * <em>"operation"</em>. <em>"operation"</em> changes the current operations
Packit Service 2781ba
 * set for the node, <em>"name"</em> doesn't have any role internally in
Packit Service 2781ba
 * GEGL.
Packit Service 2781ba
 * ---
Packit Service 2781ba
 * gegl_node_set (node, "brightness", -0.2,
Packit Service 2781ba
 *                      "contrast",   2.0,
Packit Service 2781ba
 *                      NULL);
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_set</FONT>              (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *first_property_name,
Packit Service 2781ba
                                          ...) G_GNUC_NULL_TERMINATED;
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_set_valist:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @first_property_name: name of the first property to set
Packit Service 2781ba
 * @args: value for the first property, followed optionally by more name/value
Packit Service 2781ba
 * pairs, followed by NULL.
Packit Service 2781ba
 *
Packit Service 2781ba
 * valist version of #gegl_node_set
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_set_valist</FONT>       (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *first_property_name,
Packit Service 2781ba
                                          va_list        args);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @first_property_name: name of the first property to get.
Packit Service 2781ba
 * @...: return location for the first property, followed optionally by more
Packit Service 2781ba
 * name/value pairs, followed by NULL.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Gets properties of a #GeglNode.
Packit Service 2781ba
 * ---
Packit Service 2781ba
 * double level;
Packit Service 2781ba
 * char  *path;
Packit Service 2781ba
 *
Packit Service 2781ba
 * gegl_node_get (png_save, "path", &path, NULL);
Packit Service 2781ba
 * gegl_node_get (threshold, "level", &level, NULL);
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_get</FONT>              (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *first_property_name,
Packit Service 2781ba
                                          ...) G_GNUC_NULL_TERMINATED;
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_valist:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @first_property_name: name of the first property to get.
Packit Service 2781ba
 * @args: return location for the first property, followed optionally by more
Packit Service 2781ba
 * name/value pairs, followed by NULL.
Packit Service 2781ba
 *
Packit Service 2781ba
 * valist version of #gegl_node_get
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_get_valist</FONT>       (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *first_property_name,
Packit Service 2781ba
                                          va_list        args);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Processing:
Packit Service 2781ba
 *
Packit Service 2781ba
 * There are two different ways to do processing with GEGL, either you
Packit Service 2781ba
 * query any node providing output for a rectangular region to be rendered
Packit Service 2781ba
 * using #gegl_node_blit, or you use #gegl_node_process on a sink node (A
Packit Service 2781ba
 * display node, an image file writer or similar). To do iterative processing
Packit Service 2781ba
 * you need to use a #GeglProcessor. See #gegl_processor_work for a code
Packit Service 2781ba
 * sample.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_blit:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @scale: the scale to render at 1.0 is default, other values changes the
Packit Service 2781ba
 * width/height of the sampled region.
Packit Service 2781ba
 * @roi: the rectangle to render from the node, the coordinate system used is
Packit Service 2781ba
 * coordinates after scale has been applied.
Packit Service 2781ba
 * @format: the #BablFormat desired.
Packit Service 2781ba
 * @destination_buf: a memory buffer large enough to contain the data, can be
Packit Service 2781ba
 * left as NULL when forcing a rendering of a region.
Packit Service 2781ba
 * @rowstride: rowstride in bytes, or GEGL_AUTO_ROWSTRIDE to compute the
Packit Service 2781ba
 * rowstride based on the width and bytes per pixel for the specified format.
Packit Service 2781ba
 * @flags: an or'ed combination of GEGL_BLIT_DEFAULT, GEGL_BLIT_CACHE and
Packit Service 2781ba
 * GEGL_BLIT_DIRTY. if cache is enabled, a cache will be set up for subsequent
Packit Service 2781ba
 * requests of image data from this node. By passing in GEGL_BLIT_DIRTY the
Packit Service 2781ba
 * function will return with the latest rendered results in the cache without
Packit Service 2781ba
 * regard to wheter the regions has been rendered or not.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Render a rectangular region from a node.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_blit</FONT>             (GeglNode            *node,
Packit Service 2781ba
                                          gdouble              scale,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> GeglRectangle *roi,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> Babl          *format,
Packit Service 2781ba
                                          gpointer             destination_buf,
Packit Service 2781ba
                                          gint                 rowstride,
Packit Service 2781ba
                                          GeglBlitFlags        flags);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_process:
Packit Service 2781ba
 * @sink_node: a #GeglNode without outputs.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Render a composition. This can be used for instance on a node with a "png-save"
Packit Service 2781ba
 * operation to render all neccesary data, and make it be written to file. This
Packit Service 2781ba
 * function wraps the usage of a GeglProcessor in a single blocking function
Packit Service 2781ba
 * call. If you need a non-blocking operation, then make a direct use of
Packit Service 2781ba
 * #gegl_processor_work. See #GeglProcessor.
Packit Service 2781ba
 *
Packit Service 2781ba
 * ---
Packit Service 2781ba
 * GeglNode      *gegl;
Packit Service 2781ba
 * GeglRectangle  roi;
Packit Service 2781ba
 * GeglNode      *png_save;
Packit Service 2781ba
 * unsigned char *buffer;
Packit Service 2781ba
 *
Packit Service 2781ba
 * gegl = gegl_parse_xml (xml_data);
Packit Service 2781ba
 * roi      = gegl_node_get_bounding_box (gegl);
Packit Service 2781ba
 * # create png_save from the graph, the parent/child relationship
Packit Service 2781ba
 * # only mean anything when it comes to memory management.
Packit Service 2781ba
 * png_save = gegl_node_new_child (gegl,
Packit Service 2781ba
 *                                 "operation", "png-save",
Packit Service 2781ba
 *                                 "path",      "output.png",
Packit Service 2781ba
 *                                 NULL);
Packit Service 2781ba
 *
Packit Service 2781ba
 * gegl_node_link (gegl, png_save);
Packit Service 2781ba
 * gegl_node_process (png_save);
Packit Service 2781ba
 *
Packit Service 2781ba
 * buffer = malloc (roi.w*roi.h*4);
Packit Service 2781ba
 * gegl_node_blit (gegl,
Packit Service 2781ba
 *                 &roi,
Packit Service 2781ba
 *                 1.0,
Packit Service 2781ba
 *                 babl_format("R'G'B'A u8",
Packit Service 2781ba
 *                 roi.w*4,
Packit Service 2781ba
 *                 buffer,
Packit Service 2781ba
 *                 GEGL_BLIT_DEFAULT);
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_process</FONT>          (GeglNode      *sink_node);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Reparenting:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Sometimes it is useful to be able to move nodes between graphs or even
Packit Service 2781ba
 * handle orphaned nods that are not part of a graph. gegl_node_adopt_child
Packit Service 2781ba
 * and gegl_node_get_parent are provided to handle such cases.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_add_child:
Packit Service 2781ba
 * @graph: a GeglNode (graph)
Packit Service 2781ba
 * @child: a GeglNode.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Make the GeglNode @graph, take a reference on child. This reference
Packit Service 2781ba
 * will be dropped when the reference count on the graph reaches zero.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer none): the child.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode *    <FONT COLOR="#0000FF">gegl_node_add_child</FONT>           (GeglNode      *graph,
Packit Service 2781ba
                                             GeglNode      *child);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_remove_child:
Packit Service 2781ba
 * @graph: a GeglNode (graph)
Packit Service 2781ba
 * @child: a GeglNode.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Removes a child from a GeglNode. The reference previously held will be
Packit Service 2781ba
 * dropped so increase the reference count before removing when reparenting
Packit Service 2781ba
 * a child between two graphs.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer none): the child.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode *    <FONT COLOR="#0000FF">gegl_node_remove_child</FONT>        (GeglNode      *graph,
Packit Service 2781ba
                                             GeglNode      *child);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_parent:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns a GeglNode that keeps a reference on a child.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer none): the parent of a node or NULL.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_get_parent</FONT>         (GeglNode      *node);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * State queries:
Packit Service 2781ba
 *
Packit Service 2781ba
 * This section lists functions that retrieve information, mostly needed
Packit Service 2781ba
 * for interacting with a graph in a GUI, not creating one from scratch.
Packit Service 2781ba
 *
Packit Service 2781ba
 * You can figure out what the bounding box of a node is with #gegl_node_get_bounding_box,
Packit Service 2781ba
 * retrieve the values of named properties using #gegl_node_get.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_detect:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @x: x coordinate
Packit Service 2781ba
 * @y: y coordinate
Packit Service 2781ba
 *
Packit Service 2781ba
 * Performs hit detection by returning the node providing data at a given
Packit Service 2781ba
 * coordinate pair. Currently operates only on bounding boxes and not
Packit Service 2781ba
 * pixel data.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer none): the GeglNode providing the 
Packit Service 2781ba
 * data ending up at @x,@y in the output of @node.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_detect</FONT>           (GeglNode      *node,
Packit Service 2781ba
                                          gint           x,
Packit Service 2781ba
                                          gint           y);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_find_property:
Packit Service 2781ba
 * @node: the node to lookup a paramspec on
Packit Service 2781ba
 * @property_name: the name of the property to get a paramspec for.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns the GParamSpec of property or NULL if no such property exists.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GParamSpec  * <FONT COLOR="#0000FF">gegl_node_find_property</FONT>    (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *property_name);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_bounding_box:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns the position and dimensions of a rectangle spanning the area
Packit Service 2781ba
 * defined by a node.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglRectangle <FONT COLOR="#0000FF">gegl_node_get_bounding_box</FONT> (GeglNode      *node);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_children:
Packit Service 2781ba
 * @node: the node to retrieve the children of.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (element-type Gegl.Node) (transfer container): a list
Packit Service 2781ba
 * of the nodes contained within a GeglNode that is a subgraph.
Packit Service 2781ba
 * Use g_list_free () on the list when done.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GSList      * <FONT COLOR="#0000FF">gegl_node_get_children</FONT>     (GeglNode      *node);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_consumers:
Packit Service 2781ba
 * @node: the node we are querying.
Packit Service 2781ba
 * @output_pad: the output pad we want to know who uses.
Packit Service 2781ba
 * @nodes: (out callee-allocates) (array zero-terminated=1) (allow-none): optional return location for array of nodes.
Packit Service 2781ba
 * @pads: (out callee-allocates) (array zero-terminated=1) (allow-none): optional return location for array of pad names.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Retrieve which pads on which nodes are connected to a named output_pad,
Packit Service 2781ba
 * and the number of connections. Both the location for the generated
Packit Service 2781ba
 * nodes array and pads array can be left as NULL. If they are non NULL
Packit Service 2781ba
 * both should be freed with g_free. The arrays are NULL terminated.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns the number of consumers connected to this output_pad.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
gint          <FONT COLOR="#0000FF">gegl_node_get_consumers</FONT>    (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *output_pad,
Packit Service 2781ba
                                          GeglNode    ***nodes,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar ***pads);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_input_proxy:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @pad_name: the name of the pad.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Proxies are used to route between nodes of a subgraph contained within
Packit Service 2781ba
 * a node.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns an input proxy for the named pad. If no input proxy exists with
Packit Service 2781ba
 * this name a new one will be created.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_get_input_proxy</FONT>  (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *pad_name);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_operation:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns the type of processing operation associated with this node, or
Packit Service 2781ba
 * NULL if there is no op associated. The special name "GraphNode"
Packit Service 2781ba
 * is returned if the node is the container of a subgraph.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">const</FONT> gchar * <FONT COLOR="#0000FF">gegl_node_get_operation</FONT>    (<FONT COLOR="#228B22">const</FONT> GeglNode *node);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_output_proxy:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @pad_name: the name of the pad.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Proxies are used to route between nodes of a subgraph contained within
Packit Service 2781ba
 * a node.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns a output proxy for the named pad. If no output proxy exists with
Packit Service 2781ba
 * this name a new one will be created.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_get_output_proxy</FONT> (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *pad_name);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_producer:
Packit Service 2781ba
 * @node: the node we are querying
Packit Service 2781ba
 * @input_pad_name: the input pad we want to get the producer for
Packit Service 2781ba
 * @output_pad_name: (allow-none): optional pointer to a location where we can store a
Packit Service 2781ba
 *                   freshly allocated string with the name of the output pad.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer none): the node providing data
Packit Service 2781ba
 * or NULL if no node is connected to the input_pad.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_get_producer</FONT>     (GeglNode      *node,
Packit Service 2781ba
                                          gchar         *input_pad_name,
Packit Service 2781ba
                                          gchar        **output_pad_name);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_has_pad:
Packit Service 2781ba
 * @node: the node we are querying
Packit Service 2781ba
 * @pad_name: the pad name we are looking for
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns TRUE if the node has a pad with the specified name
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
gboolean      <FONT COLOR="#0000FF">gegl_node_has_pad</FONT>          (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *pad_name);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * Binding conveniences:
Packit Service 2781ba
 *
Packit Service 2781ba
 * The following functions are mostly included to make it easier to create
Packit Service 2781ba
 * language bindings for the nodes. The varargs versions will in most cases
Packit Service 2781ba
 * lead to both more efficient and readable code from C.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_create_child:
Packit Service 2781ba
 * @parent: a #GeglNode
Packit Service 2781ba
 * @operation: the type of node to create.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Creates a new processing node that performs the specified operation.
Packit Service 2781ba
 * All properties of the operation will have their default values. This
Packit Service 2781ba
 * is included as an addiiton to #gegl_node_new_child in the public API to have
Packit Service 2781ba
 * a non varargs entry point for bindings as well as sometimes simpler more
Packit Service 2781ba
 * readable code.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer none):a newly created node. The node will be destroyed by the parent.
Packit Service 2781ba
 * Calling g_object_unref on a node will cause the node to be dropped by the
Packit Service 2781ba
 * parent. (You may also add additional references using
Packit Service 2781ba
 * g_object_ref/g_object_unref, but in general relying on the parents reference
Packit Service 2781ba
 * counting is easiest.)
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
GeglNode     * <FONT COLOR="#0000FF">gegl_node_create_child</FONT>    (GeglNode      *parent,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *operation);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_get_property:
Packit Service 2781ba
 * @node: the node to get a property from
Packit Service 2781ba
 * @property_name: the name of the property to get
Packit Service 2781ba
 * @value: (out): pointer to a GValue where the value of the property should be stored
Packit Service 2781ba
 *
Packit Service 2781ba
 * This is mainly included for language bindings. Using #gegl_node_get is
Packit Service 2781ba
 * more convenient when programming in C.
Packit Service 2781ba
 *
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_get_property</FONT>     (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *property_name,
Packit Service 2781ba
                                          GValue        *value);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_set_property:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @property_name: the name of the property to set
Packit Service 2781ba
 * @value: (in): a GValue containing the value to be set in the property.
Packit Service 2781ba
 *
Packit Service 2781ba
 * This is mainly included for language bindings. Using #gegl_node_set is
Packit Service 2781ba
 * more convenient when programming in C.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>          <FONT COLOR="#0000FF">gegl_node_set_property</FONT>     (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *property_name,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> GValue  *value);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * XML:
Packit Service 2781ba
 * The XML format used by GEGL is not stable and should not be relied on
Packit Service 2781ba
 * for anything but testing purposes yet.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_new_from_xml:
Packit Service 2781ba
 * @xmldata: a \0 terminated string containing XML data to be parsed.
Packit Service 2781ba
 * @path_root: a file system path that relative paths in the XML will be
Packit Service 2781ba
 * resolved in relation to.
Packit Service 2781ba
 *
Packit Service 2781ba
 * The #GeglNode returned contains the graph described by the tree of stacks
Packit Service 2781ba
 * in the XML document. The tree is connected to the "output" pad of the
Packit Service 2781ba
 * returned node and thus can be used directly for processing.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer full): a GeglNode containing the parsed XML as a subgraph.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_new_from_xml</FONT>     (<FONT COLOR="#228B22">const</FONT> gchar   *xmldata,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *path_root);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_new_from_file:
Packit Service 2781ba
 * @path: the path to a file on the local file system to be parsed.
Packit Service 2781ba
 *
Packit Service 2781ba
 * The #GeglNode returned contains the graph described by the tree of stacks
Packit Service 2781ba
 * in the XML document. The tree is connected to the "output" pad of the
Packit Service 2781ba
 * returned node and thus can be used directly for processing.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer full): a GeglNode containing the parsed XML as a subgraph.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode    * <FONT COLOR="#0000FF">gegl_node_new_from_file</FONT>    (<FONT COLOR="#228B22">const</FONT> gchar   *path);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_to_xml:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @path_root: filesystem path to construct relative paths from.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns a freshly allocated \0 terminated string containing a XML
Packit Service 2781ba
 * serialization of the composition produced by a node (and thus also
Packit Service 2781ba
 * the nodes contributing data to the specified node). To export a
Packit Service 2781ba
 * gegl graph, connect the internal output node to an output proxy (see
Packit Service 2781ba
 * #gegl_node_get_output_proxy.) and use the proxy node as the basis
Packit Service 2781ba
 * for the serialization.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
gchar       * <FONT COLOR="#0000FF">gegl_node_to_xml</FONT>           (GeglNode      *node,
Packit Service 2781ba
                                          <FONT COLOR="#228B22">const</FONT> gchar   *path_root);
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * GeglProcessor:
Packit Service 2781ba
 *
Packit Service 2781ba
 * A #GeglProcessor, is a worker that can be used for background rendering
Packit Service 2781ba
 * of regions in a node's cache. Or for processing a sink node. For most
Packit Service 2781ba
 * non GUI tasks using #gegl_node_blit and #gegl_node_process directly
Packit Service 2781ba
 * should be sufficient. See #gegl_processor_work for a code sample.
Packit Service 2781ba
 *
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node_new_processor:
Packit Service 2781ba
 * @node: a #GeglNode
Packit Service 2781ba
 * @rectangle: the #GeglRectangle to work on or NULL to work on all available
Packit Service 2781ba
 * data.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer full): a new #GeglProcessor.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglProcessor *<FONT COLOR="#0000FF">gegl_node_new_processor</FONT>      (GeglNode            *node,
Packit Service 2781ba
                                             <FONT COLOR="#228B22">const</FONT> GeglRectangle *rectangle);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_processor_set_rectangle:
Packit Service 2781ba
 * @processor: a #GeglProcessor
Packit Service 2781ba
 * @rectangle: the new #GeglRectangle the processor shold work on or NULL
Packit Service 2781ba
 * to make it work on all data in the buffer.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Change the rectangle a #GeglProcessor is working on.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>           <FONT COLOR="#0000FF">gegl_processor_set_rectangle</FONT> (GeglProcessor       *processor,
Packit Service 2781ba
                                             <FONT COLOR="#228B22">const</FONT> GeglRectangle *rectangle);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_processor_work:
Packit Service 2781ba
 * @processor: a #GeglProcessor
Packit Service 2781ba
 * @progress: a location to store the (estimated) percentage complete.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Do an iteration of work for the processor.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns TRUE if there is more work to be done.
Packit Service 2781ba
 *
Packit Service 2781ba
 * ---
Packit Service 2781ba
 * GeglProcessor *processor = gegl_node_new_processor (node, &roi);
Packit Service 2781ba
 * double         progress;
Packit Service 2781ba
 *
Packit Service 2781ba
 * while (gegl_processor_work (processor, &progress))
Packit Service 2781ba
 *   g_warning ("%f%% complete", progress);
Packit Service 2781ba
 * g_object_unref (processor);
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
gboolean       <FONT COLOR="#0000FF">gegl_processor_work</FONT>          (GeglProcessor *processor,
Packit Service 2781ba
                                             gdouble       *progress);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/***
Packit Service 2781ba
 * GeglConfig:
Packit Service 2781ba
 *
Packit Service 2781ba
 * GEGL uses a singleton configuration object
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_config:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Returns a GeglConfig object with properties that can be manipulated to control
Packit Service 2781ba
 * GEGLs behavior. Properties available on the object are:
Packit Service 2781ba
 *
Packit Service 2781ba
 * "cache-size" "quality" and "swap", the two first is an integer denoting
Packit Service 2781ba
 * number of bytes, the secons a double value between 0 and 1 and the last
Packit Service 2781ba
 * the path of the directory to swap to (or "ram" to not use diskbased swap)
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglConfig      * <FONT COLOR="#0000FF">gegl_config</FONT> (<FONT COLOR="#228B22">void</FONT>);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>        <FONT COLOR="#0000FF">gegl_apply_op</FONT>  (GeglBuffer    *buffer,
Packit Service 2781ba
                            <FONT COLOR="#228B22">const</FONT> gchar   *operation_name,
Packit Service 2781ba
                            ...) G_GNUC_NULL_TERMINATED;
Packit Service 2781ba
Packit Service 2781ba
GeglBuffer *<FONT COLOR="#0000FF">gegl_filter_op</FONT> (GeglBuffer    *source_buffer,
Packit Service 2781ba
                            <FONT COLOR="#228B22">const</FONT> gchar   *operation_name,
Packit Service 2781ba
                            ...) G_GNUC_NULL_TERMINATED;
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>        <FONT COLOR="#0000FF">gegl_render_op</FONT> (GeglBuffer    *source_buffer,
Packit Service 2781ba
                            GeglBuffer    *target_buffer,
Packit Service 2781ba
                            <FONT COLOR="#228B22">const</FONT> gchar   *operation_name,
Packit Service 2781ba
                            ...) G_GNUC_NULL_TERMINATED;
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/* the following only exist to make gegl_apply nad gegl_filter bindable */</FONT>
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>        <FONT COLOR="#0000FF">gegl_apply_op_valist</FONT> (GeglBuffer    *buffer,
Packit Service 2781ba
                                  <FONT COLOR="#228B22">const</FONT> gchar   *operation_name,
Packit Service 2781ba
                                  va_list        var_args);
Packit Service 2781ba
Packit Service 2781ba
GeglBuffer *<FONT COLOR="#0000FF">gegl_filter_op_valist</FONT> (GeglBuffer   *source_buffer,
Packit Service 2781ba
                                   <FONT COLOR="#228B22">const</FONT> gchar  *operation_name,
Packit Service 2781ba
                                   va_list       var_args);
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#228B22">void</FONT>        <FONT COLOR="#0000FF">gegl_render_op_valist</FONT> (GeglBuffer   *source_buffer,
Packit Service 2781ba
                                   GeglBuffer   *target_buffer,
Packit Service 2781ba
                                   <FONT COLOR="#228B22">const</FONT> gchar  *operation_name,
Packit Service 2781ba
                                   va_list       var_args);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_node: (skip)
Packit Service 2781ba
 * @op_type:  the type of operation to create
Packit Service 2781ba
 * @first_property_name:
Packit Service 2781ba
 * @...:
Packit Service 2781ba
 *
Packit Service 2781ba
 * Construct a GEGL node, connecting it to needed input nodes. The
Packit Service 2781ba
 * returned node does not have a parent but a single reference it
Packit Service 2781ba
 * is meant to be passed to gegl_graph () for gegl_graph () to assume
Packit Service 2781ba
 * its ownership. This is syntactic sugar for use from C, similar
Packit Service 2781ba
 * conveniences can easily be built externally in other languages.
Packit Service 2781ba
 *
Packit Service 2781ba
 * gegl_node(op_type, [key, value, [...]], NULL, [input, [aux]])
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer full): a new Gegl node.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode *<FONT COLOR="#0000FF">gegl_node</FONT> (<FONT COLOR="#228B22">const</FONT> gchar *op_type,
Packit Service 2781ba
                     <FONT COLOR="#228B22">const</FONT> gchar *first_property_name,
Packit Service 2781ba
                     ...);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
<FONT COLOR="#B22222">/**
Packit Service 2781ba
 * gegl_graph: (skip)
Packit Service 2781ba
 * @node: (transfer full): the end result of a composition created with gegl_node()
Packit Service 2781ba
 *
Packit Service 2781ba
 * Creates a GeglNode containing a free floating graph constructed
Packit Service 2781ba
 * using gegl_node(). The GeglGraph adopts all the passed in nodes
Packit Service 2781ba
 * making it sufficient to unref the resulting graph.
Packit Service 2781ba
 *
Packit Service 2781ba
 * gegl_graph (gegl_node ("gegl:over", NULL,
Packit Service 2781ba
 *                        gegl_node (..), gegl_node (..)));
Packit Service 2781ba
 *
Packit Service 2781ba
 * Return value: (transfer full):a GeglNode graph.
Packit Service 2781ba
 */</FONT>
Packit Service 2781ba
GeglNode *<FONT COLOR="#0000FF">gegl_graph</FONT> (GeglNode *node);
Packit Service 2781ba
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">define</FONT> <FONT COLOR="#B8860B">GEGL_ALIGNED</FONT> __restrict__ __attribute__((__aligned__ (16)))
Packit Service 2781ba
Packit Service 2781ba
G_END_DECLS
Packit Service 2781ba
#<FONT COLOR="#5F9EA0">endif</FONT>  <FONT COLOR="#B22222">/* __GEGL_H__ */</FONT>
Packit Service 2781ba
Packit Service 2781ba

Packit Service 2781ba
<ADDRESS>Generated by GNU Enscript 1.6.5.90.</ADDRESS>
Packit Service 2781ba
</BODY>
Packit Service 2781ba
</HTML>