## gegl-processor

gegl-processor

## Functions

GeglProcessor * | gegl_node_new_processor ()
void | gegl_processor_set_level ()
void | gegl_processor_set_scale ()
void | gegl_processor_set_rectangle ()
gboolean | gegl_processor_work ()
GeglBuffer * | gegl_processor_get_buffer ()

## Description

## Functions

### gegl_node_new_processor ()

    GeglProcessor *
    gegl_node_new_processor (GeglNode *node,
                             const GeglRectangle *rectangle);

#### Parameters

node | a GeglNode |
rectangle | the GeglRectangle to work on or NULL to work on all available data. |

#### Returns

a new GeglProcessor.

[transfer full]

### gegl_processor_set_level ()

    void
    gegl_processor_set_level (GeglProcessor *processor,
                              gint level);

### gegl_processor_set_scale ()

    void
    gegl_processor_set_scale (GeglProcessor *processor,
                              gdouble scale);

### gegl_processor_set_rectangle ()

    void
    gegl_processor_set_rectangle (GeglProcessor *processor,
                                  const GeglRectangle *rectangle);

Change the rectangle a GeglProcessor is working on.

#### Parameters

processor | a GeglProcessor |
rectangle | the new GeglRectangle the processor shold work on or NULL to make it work on all data in the buffer. |

### gegl_processor_work ()

    gboolean
    gegl_processor_work (GeglProcessor *processor,
                         gdouble *progress);

Do an iteration of work for the processor.

Returns TRUE if there is more work to be done.

--- GeglProcessor *processor = gegl_node_new_processor (node, &roi); double progress;

while (gegl_processor_work (processor, &progress)) g_warning ("`f`%% complete", progress); g_object_unref (processor);

#### Parameters

processor | a GeglProcessor |
progress | a location to store the (estimated) percentage complete. | [out caller-allocates]

### gegl_processor_get_buffer ()

    GeglBuffer *
    gegl_processor_get_buffer (GeglProcessor *processor);

Returns the (cache) buffer the processor is rendering into, another way of getting to the same pixel data is calling gegl_node_blit with flags indicating that we want caching and accept dirty data.

#### Parameters

processor | a GeglProcessor |

#### Returns

the GeglBuffer rendered into.

[transfer full]