GeglProcessor * gegl_node_new_processor (GeglNode *node,const GeglRectangle *rectangle);
node |
a GeglNode |
|
rectangle |
the GeglRectangle to work on or NULL to work on all available data. |
void gegl_processor_set_scale (GeglProcessor *processor,gdouble scale);
void gegl_processor_set_rectangle (GeglProcessor *processor,const GeglRectangle *rectangle);
Change the rectangle a GeglProcessor is working on.
processor |
||
rectangle |
the new GeglRectangle the processor shold work on or NULL to make it work on all data in the buffer. |
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);
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.