static GeglNode * detect (GeglOperation *operation, gint x, gint y) { GeglNode *input_node = gegl_operation_get_source_node (operation, "input"); GeglNode *aux_node = gegl_operation_get_source_node (operation, "aux"); if (input_node) input_node = gegl_node_detect (input_node, x, y); if (aux_node) aux_node = gegl_node_detect (aux_node, x, y); if (aux_node) return aux_node; if (input_node) return input_node; return NULL; }
static GeglNode * detect (GeglOperation *operation, gint x, gint y) { GeglNode *input_node; input_node = gegl_operation_get_source_node (operation, "input"); if (input_node) return gegl_node_detect (input_node, x, y); return operation->node; }
static GeglNode * gegl_crop_detect (GeglOperation *operation, gint x, gint y) { GeglProperties *o = GEGL_PROPERTIES (operation); GeglNode *input_node; input_node = gegl_operation_get_source_node (operation, "input"); if (input_node) return gegl_node_detect (input_node, x - floor (o->x), y - floor (o->y)); return operation->node; }