1 /* This file is part of GEGL 2 * 3 * GEGL is free software; you can redistribute it and/or 4 * modify it under the terms of the GNU Lesser General Public 5 * License as published by the Free Software Foundation; either 6 * version 3 of the License, or (at your option) any later version. 7 * 8 * GEGL is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * Lesser General Public License for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public 14 * License along with GEGL; if not, see <https://www.gnu.org/licenses/>. 15 * 16 * Copyright 2003 Calvin Williamson 17 * 2006-2008 Øyvind Kolås 18 * 2013 Daniel Sabo 19 */ 20 21 #ifndef __GEGL_OPERATION_CONTEXT_H__ 22 #define __GEGL_OPERATION_CONTEXT_H__ 23 24 G_BEGIN_DECLS 25 26 GeglBuffer *gegl_operation_context_get_target (GeglOperationContext *self, 27 const gchar *padname); 28 GeglBuffer *gegl_operation_context_get_source (GeglOperationContext *self, 29 const gchar *padname) G_GNUC_DEPRECATED; 30 GObject *gegl_operation_context_dup_object (GeglOperationContext *self, 31 const gchar *padname); 32 GObject *gegl_operation_context_get_object (GeglOperationContext *context, 33 const gchar *padname); 34 35 void gegl_operation_context_set_object (GeglOperationContext *context, 36 const gchar *padname, 37 GObject *data); 38 void gegl_operation_context_take_object (GeglOperationContext *context, 39 const gchar *padname, 40 GObject *data); 41 42 void gegl_operation_context_purge (GeglOperationContext *self); 43 44 gint gegl_operation_context_get_level (GeglOperationContext *self); 45 46 /* the rest of these functions are for internal use only */ 47 48 GeglBuffer * gegl_operation_context_get_output_maybe_in_place (GeglOperation *operation, 49 GeglOperationContext *context, 50 GeglBuffer *input, 51 const GeglRectangle *roi); 52 GeglBuffer * gegl_operation_context_dup_input_maybe_copy (GeglOperationContext *context, 53 const gchar *padname, 54 const GeglRectangle *roi); 55 56 57 GeglOperationContext *gegl_operation_context_node_get_context (GeglOperationContext *context, 58 GeglNode *node); 59 60 61 G_END_DECLS 62 63 #endif /* __GEGL_OPERATION_CONTEXT_H__ */ 64