make ops use gegl-op.h

motion-blur-linear.c mono-mixer mirrors mblur matting-global map-relative
map-absolute manituk06 magick-load load linear-gradient.c levels
lends-distortion introspect
parent 0d7f241f
...@@ -21,23 +21,25 @@ ...@@ -21,23 +21,25 @@
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#ifdef GEGL_CHANT_PROPERTIES #ifdef GEGL_PROPERTIES
gegl_chant_object(node, _("Node"), _("GeglNode to introspect")) gegl_property_object(node, _("Node"),
"description", _("GeglNode to introspect"),
NULL)
#else #else
#define GEGL_CHANT_TYPE_SOURCE #define GEGL_OP_SOURCE
#define GEGL_CHANT_C_FILE "introspect.c" #define GEGL_OP_C_FILE "introspect.c"
#include "gegl-chant.h" #include "gegl-op.h"
#include "gegl-types-internal.h" #include "gegl-types-internal.h"
#include "gegl-dot.h" /* XXX: internal header file */ #include "gegl-dot.h" /* XXX: internal header file */
#include <stdio.h> #include <stdio.h>
static void static void
gegl_introspect_load_cache (GeglChantO *op_introspect) gegl_introspect_load_cache (GeglProperties *op_introspect)
{ {
GeglBuffer *new_buffer = NULL; GeglBuffer *new_buffer = NULL;
GeglNode *png_load = NULL; GeglNode *png_load = NULL;
...@@ -47,7 +49,7 @@ gegl_introspect_load_cache (GeglChantO *op_introspect) ...@@ -47,7 +49,7 @@ gegl_introspect_load_cache (GeglChantO *op_introspect)
gchar *dot_filename = NULL; gchar *dot_filename = NULL;
gchar *dot_cmd = NULL; gchar *dot_cmd = NULL;
if (op_introspect->chant_data) if (op_introspect->user_data)
return; return;
/* Construct temp filenames */ /* Construct temp filenames */
...@@ -77,7 +79,7 @@ gegl_introspect_load_cache (GeglChantO *op_introspect) ...@@ -77,7 +79,7 @@ gegl_introspect_load_cache (GeglChantO *op_introspect)
gegl_node_link_many (png_load, buffer_sink, NULL); gegl_node_link_many (png_load, buffer_sink, NULL);
gegl_node_process (buffer_sink); gegl_node_process (buffer_sink);
op_introspect->chant_data= new_buffer; op_introspect->user_data= new_buffer;
/* Cleanup */ /* Cleanup */
g_object_unref (buffer_sink); g_object_unref (buffer_sink);
...@@ -91,27 +93,27 @@ gegl_introspect_load_cache (GeglChantO *op_introspect) ...@@ -91,27 +93,27 @@ gegl_introspect_load_cache (GeglChantO *op_introspect)
static void static void
gegl_introspect_dispose (GObject *object) gegl_introspect_dispose (GObject *object)
{ {
GeglChantO *o = GEGL_CHANT_PROPERTIES (object); GeglProperties *o = GEGL_PROPERTIES (object);
if (o->chant_data != NULL) if (o->user_data != NULL)
{ {
g_object_unref (o->chant_data); g_object_unref (o->user_data);
o->chant_data = NULL; o->user_data = NULL;
} }
G_OBJECT_CLASS (gegl_chant_parent_class)->dispose (object); G_OBJECT_CLASS (gegl_op_parent_class)->dispose (object);
} }
static GeglRectangle static GeglRectangle
gegl_introspect_get_bounding_box (GeglOperation *operation) gegl_introspect_get_bounding_box (GeglOperation *operation)
{ {
GeglRectangle result = {0,0,0,0}; GeglRectangle result = {0,0,0,0};
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation); GeglProperties *o = GEGL_PROPERTIES (operation);
gint width, height; gint width, height;
gegl_introspect_load_cache (o); gegl_introspect_load_cache (o);
g_object_get (o->chant_data, "width", &width, g_object_get (o->user_data, "width", &width,
"height", &height, NULL); "height", &height, NULL);
result.width = width; result.width = width;
...@@ -127,22 +129,22 @@ gegl_introspect_process (GeglOperation *operation, ...@@ -127,22 +129,22 @@ gegl_introspect_process (GeglOperation *operation,
const GeglRectangle *result, const GeglRectangle *result,
gint level) gint level)
{ {
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation); GeglProperties *o = GEGL_PROPERTIES (operation);
gegl_introspect_load_cache (o); gegl_introspect_load_cache (o);
/* gegl_operation_context_take_object() takes the reference we have, /* gegl_operation_context_take_object() takes the reference we have,
* so we must increase it since we want to keep the object * so we must increase it since we want to keep the object
*/ */
g_object_ref (o->chant_data); g_object_ref (o->user_data);
gegl_operation_context_take_object (context, output_pad, G_OBJECT (o->chant_data)); gegl_operation_context_take_object (context, output_pad, G_OBJECT (o->user_data));
return TRUE; return TRUE;
} }
static void static void
gegl_chant_class_init (GeglChantClass *klass) gegl_op_class_init (GeglOpClass *klass)
{ {
GObjectClass *object_class; GObjectClass *object_class;
GeglOperationClass *operation_class; GeglOperationClass *operation_class;
......
...@@ -28,42 +28,49 @@ ...@@ -28,42 +28,49 @@
#include "config.h" #include "config.h"
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#ifdef GEGL_CHANT_PROPERTIES #ifdef GEGL_PROPERTIES
gegl_chant_double (main, _("Main"), gegl_property_double (main, _("Main"),
-100.0, 100.0, 0.0, "description", _("Amount of second-order distortion"),
_("Amount of second-order distortion")) "min", -100.0, "max", 100.0,
NULL)
gegl_chant_double (edge, _("Edge"),
-100.0, 100.0, 0.0, gegl_property_double (edge, _("Edge"),
_("Amount of fourth-order distortion")) "description", _("Amount of fourth-order distortion"),
"min", -100.0, "max", 100.0,
gegl_chant_double (zoom, _("Zoom"), NULL)
-100.0, 100.0, 0.0,
_("Rescale overall image size")) gegl_property_double (zoom, _("Zoom"),
"description", _("Rescale overall image size"),
gegl_chant_double (x_shift, _("X shift"), "min", -100.0, "max", 100.0,
-100.0, 100.0, 0.0, NULL)
_("Effect centre offset in X"))
gegl_property_double (x_shift, _("X shift"),
gegl_chant_double (y_shift, _("Y shift"), "description", _("Effect centre offset in X"),
-100.0, 100.0, 0.0, "min", -100.0, "max", 100.0,
_("Effect centre offset in Y")) NULL)
gegl_chant_double (brighten, _("Brighten"), gegl_property_double (y_shift, _("Y shift"),
-100.0, 100.0, 0.0, "description", _("Effect centre offset in Y"),
_("Adjust brightness in corners")) "min", -100.0, "max", 100.0,
NULL)
gegl_chant_color (background, _("Background"),
"white", gegl_property_double (brighten, _("Brighten"),
_("Background color")) "description", _("Adjust brightness in corners"),
"min", -100.0, "max", 100.0,
NULL)
gegl_property_color (background, _("Background"),
"description", _("Background color"),
"default", "white",
NULL)
#else #else
#define GEGL_CHANT_TYPE_FILTER #define GEGL_OP_FILTER
#define GEGL_CHANT_C_FILE "lens-distortion.c" #define GEGL_OP_C_FILE "lens-distortion.c"
#include "gegl-chant.h" #include "gegl-op.h"
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>
...@@ -103,8 +110,8 @@ reorder (gdouble *low, ...@@ -103,8 +110,8 @@ reorder (gdouble *low,
} }
static LensValues static LensValues
lens_setup_calc (GeglChantO *o, lens_setup_calc (GeglProperties *o,
GeglRectangle boundary) GeglRectangle boundary)
{ {
LensValues lens; LensValues lens;
...@@ -153,13 +160,13 @@ get_required (GeglRectangle *boundary, ...@@ -153,13 +160,13 @@ get_required (GeglRectangle *boundary,
GeglOperation *operation) GeglOperation *operation)
{ {
GeglChantO *o; GeglProperties *o;
GeglRectangle area; GeglRectangle area;
LensValues lens; LensValues lens;
gdouble x1, y1, x2, y2, x3, y3, x4, y4, mag; gdouble x1, y1, x2, y2, x3, y3, x4, y4, mag;
gint x, y, width, height; gint x, y, width, height;
o = GEGL_CHANT_PROPERTIES (operation); o = GEGL_PROPERTIES (operation);
lens = lens_setup_calc (o, *boundary); lens = lens_setup_calc (o, *boundary);
...@@ -408,12 +415,12 @@ process (GeglOperation *operation, ...@@ -408,12 +415,12 @@ process (GeglOperation *operation,
const GeglRectangle *result, const GeglRectangle *result,
gint level) gint level)
{ {
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation); GeglProperties *o = GEGL_PROPERTIES (operation);
LensValues lens; LensValues lens;
GeglRectangle boundary; GeglRectangle boundary;
gint i, j; gint i, j;
gfloat *src_buf, *dst_buf; gfloat *src_buf, *dst_buf;
gfloat background[4]; gfloat background[4];
boundary = *gegl_operation_source_get_bounding_box (operation, "input"); boundary = *gegl_operation_source_get_bounding_box (operation, "input");
lens = lens_setup_calc (o, boundary); lens = lens_setup_calc (o, boundary);
...@@ -464,7 +471,7 @@ process (GeglOperation *operation, ...@@ -464,7 +471,7 @@ process (GeglOperation *operation,
} }
static void static void
gegl_chant_class_init (GeglChantClass *klass) gegl_op_class_init (GeglOpClass *klass)
{ {
GeglOperationClass *operation_class; GeglOperationClass *operation_class;
GeglOperationFilterClass *filter_class; GeglOperationFilterClass *filter_class;
......
...@@ -21,23 +21,31 @@ ...@@ -21,23 +21,31 @@
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#ifdef GEGL_CHANT_PROPERTIES #ifdef GEGL_PROPERTIES
gegl_chant_double_ui (in_low, _("Low input"), -1.0, 4.0, 0.0, 0.0, 1.0, 1.0, gegl_property_double (in_low, _("Low input"),
_("Input luminance level to become lowest output")) "description", _("Input luminance level to become lowest output"),
gegl_chant_double_ui (in_high, _("High input"), -1.0, 4.0, 1.0, 0.0, 1.0, 1.0, "min", -1.0, "max", 4.0, "default", 0.0, "ui-min", 0.0, "ui-max", 1.0,
_("Input luminance level to become white.")) NULL)
gegl_chant_double_ui (out_low, _("Low output"), -1.0, 4.0, 0.0, 0.0, 1.0, 1.0, gegl_property_double (in_high, _("High input"),
_("Lowest luminance level in output")) "description", _("Input luminance level to become white"),
gegl_chant_double_ui (out_high, _("High output"), -1.0, 4.0, 1.0, 0.0, 1.0, 1.0, "min", -1.0, "max", 4.0, "default", 1.0, "ui-min", 0.0, "ui-max", 1.0,
_("Highest luminance level in output")) NULL)
gegl_property_double (out_low, _("Low output"),
"description", _("Lowest luminance level in output"),
"min", -1.0, "max", 4.0, "default", 0.0, "ui-min", 0.0, "ui-max", 1.0,
NULL)
gegl_property_double (out_high, _("High output"),
"description", _("Highest luminance level in output"),
"min", -1.0, "max", 4.0, "default", 1.0, "ui-min", 0.0, "ui-max", 1.0,
NULL)
#else #else
#define GEGL_CHANT_TYPE_POINT_FILTER #define GEGL_OP_POINT_FILTER
#define GEGL_CHANT_C_FILE "levels.c" #define GEGL_OP_C_FILE "levels.c"
#include "gegl-chant.h" #include "gegl-op.h"
/* GeglOperationPointFilter gives us a linear buffer to operate on /* GeglOperationPointFilter gives us a linear buffer to operate on
* in our requested pixel format * in our requested pixel format
...@@ -50,7 +58,7 @@ process (GeglOperation *op, ...@@ -50,7 +58,7 @@ process (GeglOperation *op,
const GeglRectangle *roi, const GeglRectangle *roi,
gint level) gint level)
{ {
GeglChantO *o = GEGL_CHANT_PROPERTIES (op); GeglProperties *o = GEGL_PROPERTIES (op);
gfloat *in_pixel; gfloat *in_pixel;
gfloat *out_pixel; gfloat *out_pixel;
gfloat in_range; gfloat in_range;
...@@ -100,11 +108,11 @@ cl_process (GeglOperation *op, ...@@ -100,11 +108,11 @@ cl_process (GeglOperation *op,
const GeglRectangle *roi, const GeglRectangle *roi,
gint level) gint level)
{ {
/* Retrieve a pointer to GeglChantO structure which contains all the /* Retrieve a pointer to GeglProperties structure which contains all the
* chanted properties * chanted properties
*/ */
GeglChantO *o = GEGL_CHANT_PROPERTIES (op); GeglProperties *o = GEGL_PROPERTIES (op);
gfloat in_range; gfloat in_range;
gfloat out_range; gfloat out_range;
...@@ -157,7 +165,7 @@ error: ...@@ -157,7 +165,7 @@ error:
static void static void
gegl_chant_class_init (GeglChantClass *klass) gegl_op_class_init (GeglOpClass *klass)
{ {
GeglOperationClass *operation_class; GeglOperationClass *operation_class;
GeglOperationPointFilterClass *point_filter_class; GeglOperationPointFilterClass *point_filter_class;
......
...@@ -20,23 +20,48 @@ ...@@ -20,23 +20,48 @@
#include "config.h" #include "config.h"
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#ifdef GEGL_CHANT_PROPERTIES #ifdef GEGL_PROPERTIES
gegl_chant_double (start_x, _("X1"), G_MININT, G_MAXINT, 25.0, "") gegl_property_double (start_x, _("X1"),
gegl_chant_double (start_y, _("Y1"), G_MININT, G_MAXINT, 25.0, "") "default", 25.0,
gegl_chant_double (end_x, _("X2"), G_MININT, G_MAXINT, 150.0, "") "unit", "pixel-coordinate",
gegl_chant_double (end_y, _("Y2"), G_MININT, G_MAXINT, 150.0, "") "axis", "x",
gegl_chant_color (start_color, _("Start Color"), "black", NULL)
_("The color at (x1, y1)")) gegl_property_double (start_y, _("Y1"),
gegl_chant_color (end_color, _("End Color"), "white", "default", 25.0,
_("The color at (x2, y2)")) "unit", "pixel-coordinate",
"axis", "y",
NULL)
gegl_property_double (end_x, _("X2"),
"default", 150.0,
"unit", "pixel-coordinate",
"axis", "x",
NULL)
gegl_property_double (end_y, _("Y2"),
"default", 150.0,
"unit", "pixel-coordinate",
"axis", "y",
NULL)
gegl_property_color (start_color, _("Start Color"),
"description", _("The color at (x1, y1)"),
"default", "black",
"role", "color-primary",
NULL)
gegl_property_color (end_color, _("End Color"),
"description", _("The color at (x2, y2)"),
"default", "white",
"role", "color-secondary",
NULL)
#else #else
#define GEGL_CHANT_TYPE_POINT_RENDER #define GEGL_OP_POINT_RENDER
#define GEGL_CHANT_C_FILE "linear-gradient.c" #define GEGL_OP_C_FILE "linear-gradient.c"
#include "gegl-chant.h" #include "gegl-op.h"
#include <math.h> #include <math.h>
...@@ -59,12 +84,9 @@ process (GeglOperation *operation, ...@@ -59,12 +84,9 @@ process (GeglOperation *operation,
const GeglRectangle *roi, const GeglRectangle *roi,
gint level) gint level)
{ {
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation); GeglProperties *o = GEGL_PROPERTIES (operation);
gfloat *out_pixel = out_buf; gfloat *out_pixel = out_buf;
gfloat color1[4]; gfloat color1[4], color2[4], length, dx, dy;
gfloat color2[4];
gfloat length;
gfloat dx, dy;
dx = o->end_x - o->start_x; dx = o->end_x - o->start_x;
dy = o->end_y - o->start_y; dy = o->end_y - o->start_y;
...@@ -108,7 +130,7 @@ process (GeglOperation *operation, ...@@ -108,7 +130,7 @@ process (GeglOperation *operation,
} }
static void static void
gegl_chant_class_init (GeglChantClass *klass) gegl_op_class_init (GeglOpClass *klass)
{ {
GeglOperationClass *operation_class; GeglOperationClass *operation_class;
GeglOperationPointRenderClass *point_render_class; GeglOperationPointRenderClass *point_render_class;
......
...@@ -20,17 +20,19 @@ ...@@ -20,17 +20,19 @@
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#ifdef GEGL_CHANT_PROPERTIES #ifdef GEGL_PROPERTIES
gegl_chant_file_path (path, _("File"), "", _("Path of file to load.")) gegl_property_file_path (path, _("File"),
"description", _("Path of file to load."),
NULL)
#else #else
#define GEGL_CHANT_C_FILE "load.c" #define GEGL_OP_C_FILE "load.c"
#include "gegl-plugin.h" #include "gegl-plugin.h"
struct _GeglChant struct _GeglOp
{ {
GeglOperationMeta parent_instance; GeglOperationMeta parent_instance;
gpointer properties; gpointer properties;
...@@ -42,9 +44,9 @@ struct _GeglChant ...@@ -42,9 +44,9 @@ struct _GeglChant
typedef struct typedef struct
{ {
GeglOperationMetaClass parent_class; GeglOperationMetaClass parent_class;
} GeglChantClass; } GeglOpClass;
#include "gegl-chant.h" #include "gegl-op.h"
GEGL_DEFINE_DYNAMIC_OPERATION(GEGL_TYPE_OPERATION_META) GEGL_DEFINE_DYNAMIC_OPERATION(GEGL_TYPE_OPERATION_META)
#include <stdio.h> #include <stdio.h>
...@@ -52,7 +54,7 @@ GEGL_DEFINE_DYNAMIC_OPERATION(GEGL_TYPE_OPERATION_META) ...@@ -52,7 +54,7 @@ GEGL_DEFINE_DYNAMIC_OPERATION(GEGL_TYPE_OPERATION_META)
static void static void
do_setup (GeglOperation *operation, const gchar *new_path) do_setup (GeglOperation *operation, const gchar *new_path)
{ {
GeglChant *self = GEGL_CHANT (operation); GeglOp *self = GEGL_OP (operation);
if (!new_path || 0 == strlen (new_path)) if (!new_path || 0 == strlen (new_path))
{ {
...@@ -96,8 +98,8 @@ do_setup (GeglOperation *operation, const gchar *new_path) ...@@ -96,8 +98,8 @@ do_setup (GeglOperation *operation, const gchar *new_path)
static void attach (GeglOperation *operation) static void attach (GeglOperation *operation)
{ {
GeglChant *self = GEGL_CHANT (operation); GeglOp *self = GEGL_OP (operation);
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation); GeglProperties *o = GEGL_PROPERTIES (operation);
self->output = gegl_node_get_output_proxy (operation->node, "output"); self->output = gegl_node_get_output_proxy (operation->node, "output");
...@@ -117,7 +119,7 @@ detect (GeglOperation *operation, ...@@ -117,7 +119,7 @@ detect (GeglOperation *operation,
gint x, gint x,
gint y) gint y)
{ {
GeglChant *self = GEGL_CHANT (operation); GeglOp *self = GEGL_OP (operation);
GeglNode *output = self->output; GeglNode *output = self->output;
GeglRectangle bounds; GeglRectangle bounds;
...@@ -142,9 +144,9 @@ my_set_property (GObject *gobject, ...@@ -142,9 +144,9 @@ my_set_property (GObject *gobject,
const GValue *value, const GValue *value,
GParamSpec *pspec) GParamSpec *pspec)
{ {
GeglOperation *operation = GEGL_OPERATION (gobject); GeglOperation *operation = GEGL_OPERATION (gobject);
GeglChant *self = GEGL_CHANT (operation); GeglOp *self = GEGL_OP (operation);
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation); GeglProperties *o = GEGL_PROPERTIES (operation);
const gchar *new_path = g_value_get_string (value); const gchar *new_path = g_value_get_string (value);
...@@ -159,7 +161,7 @@ my_set_property (GObject *gobject, ...@@ -159,7 +161,7 @@ my_set_property (GObject *gobject,
static void static void
prepare (GeglOperation *operation) prepare (GeglOperation *operation)
{ {
GeglChant *self = GEGL_CHANT (operation); GeglOp *self = GEGL_OP (operation);
GeglOperation *op; GeglOperation *op;
/* forward the set BablFormat of the image loader on the meta-op itself, /* forward the set BablFormat of the image loader on the meta-op itself,
...@@ -171,7 +173,7 @@ prepare (GeglOperation *operation) ...@@ -171,7 +173,7 @@ prepare (GeglOperation *operation)
} }
static void static void
gegl_chant_class_init (GeglChantClass *klass) gegl_op_class_init (GeglOpClass *klass)
{ {
GObjectClass *object_class = G_OBJECT_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass);
GeglOperationClass *operation_class = GEGL_OPERATION_CLASS (klass); GeglOperationClass *operation_class = GEGL_OPERATION_CLASS (klass);
......
...@@ -21,22 +21,25 @@ ...@@ -21,22 +21,25 @@
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#ifdef GEGL_CHANT_PROPERTIES #ifdef GEGL_PROPERTIES
gegl_chant_file_path (path, _("File"), "/tmp/gegl-logo.svg", _("Path of file to load.")) gegl_property_file_path (path, _("File"),
"description", _("Path of file to load."),
"default", "/tmp/gegl-logo.svg",
NULL)
#else #else
#define GEGL_CHANT_TYPE_SOURCE #define GEGL_OP_SOURCE
#define GEGL_CHANT_C_FILE "magick-load.c" #define GEGL_OP_C_FILE "magick-load.c"
#include "gegl-chant.h" #include "gegl-op.h"
#include <stdio.h> #include <stdio.h>
static void static void
load_cache (GeglChantO *op_magick_load) load_cache (GeglProperties *op_magick_load)
{ {
if (!op_magick_load->chant_data) if (!op_magick_load->user_data)
{ {
gchar *filename; gchar *filename;
gchar *cmd; gchar *cmd;
...@@ -56,7 +59,7 @@ load_cache (GeglChantO *op_magick_load) ...@@ -56,7 +59,7 @@ load_cache (GeglChantO *op_magick_load)
graph = gegl_graph (sink=gegl_node ("gegl:buffer-sink", "buffer", &newbuf, NULL, graph = gegl_graph (sink=gegl_node ("gegl:buffer-sink", "buffer", &newbuf, NULL,
gegl_node ("gegl:png-load", "path", filename, NULL))); gegl_node ("gegl:png-load", "path", filename, NULL)));
gegl_node_process (sink); gegl_node_process (sink);
op_magick_load->chant_data = (gpointer) newbuf; op_magick_load->user_data = (gpointer) newbuf;
g_object_unref (graph); g_object_unref (graph);
g_free (cmd); g_free (cmd);
g_free (filename); g_free (filename);
...@@ -67,12 +70,12 @@ static GeglRectangle ...@@ -67,12 +70,12 @@ static GeglRectangle
get_bounding_box (GeglOperation *operation) get_bounding_box (GeglOperation *operation)
{ {
GeglRectangle result = {0,0,0,0}; GeglRectangle result = {0,0,0,0};
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation); GeglProperties *o = GEGL_PROPERTIES (operation);
gint width, height; gint width, height;
load_cache (o); load_cache (o);
g_object_get (o->chant_data, "width", &width, g_object_get (o->user_data, "width", &width,
"height", &height, NULL); "height", &height, NULL);
result.width = width; result.width = width;
result.height = height; result.height = height;
...@@ -93,28 +96,28 @@ process (GeglOperation *operation, ...@@ -93,28 +96,28 @@ process (GeglOperation *operation,
const GeglRectangle *result, const GeglRectangle *result,
gint level) gint level)
{ {
GeglChantO *o = GEGL_CHANT_PROPERTIES (operation);