1 /* This file is the public operation GEGL API, this API will change to much 2 * larger degrees than the api provided by gegl.h 3 * 4 * GEGL is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 3 of the License, or (at your option) any later version. 8 * 9 * GEGL is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with GEGL; if not, see <https://www.gnu.org/licenses/>. 16 * 17 * 2000-2008 Øyvind Kolås. 18 */ 19 20 #ifndef __GEGL_PLUGIN_H__ 21 #define __GEGL_PLUGIN_H__ 22 23 #ifdef HAVE_CONFIG_H 24 #include "config.h" 25 #endif 26 27 #include <math.h> 28 #include <string.h> 29 #include <glib-object.h> 30 #include <gmodule.h> 31 #include <gegl.h> 32 #include <gegl-math.h> 33 #include <gegl-types.h> 34 #include <gegl-paramspecs.h> 35 #include <gegl-audio-fragment.h> 36 37 G_BEGIN_DECLS 38 39 /* Extra types needed when coding operations */ 40 typedef struct _GeglModule GeglModule; 41 typedef struct _GeglModuleInfo GeglModuleInfo; 42 typedef struct _GeglModuleDB GeglModuleDB; 43 44 /*** 45 * Writing GEGL operations 46 * 47 */ 48 49 /* increment the ABI version each time one of the following changes: 50 * 51 * - the libgeglmodule implementation (if the change affects modules). 52 * - GeglOperation or one of it's base classes changes. (XXX:- 53 * should be extended so a range of abi versions are accepted. 54 */ 55 56 #define GEGL_MODULE_ABI_VERSION 0x000A 57 58 struct _GeglModuleInfo 59 { 60 guint32 abi_version; 61 }; 62 63 GType gegl_module_register_type (GTypeModule *module, 64 GType parent_type, 65 const gchar *type_name, 66 const GTypeInfo *type_info, 67 GTypeFlags flags); 68 69 #include <operation/gegl-operation.h> 70 #include <operation/gegl-operation-context.h> 71 #include <operation/gegl-operation-filter.h> 72 #include <operation/gegl-operation-area-filter.h> 73 #include <operation/gegl-operation-point-filter.h> 74 #include <operation/gegl-operation-composer.h> 75 #include <operation/gegl-operation-composer3.h> 76 #include <operation/gegl-operation-point-composer.h> 77 #include <operation/gegl-operation-point-composer3.h> 78 #include <operation/gegl-operation-point-render.h> 79 #include <operation/gegl-operation-temporal.h> 80 #include <operation/gegl-operation-source.h> 81 #include <operation/gegl-operation-sink.h> 82 #include <operation/gegl-operation-meta.h> 83 #include <operation/gegl-extension-handler.h> 84 #include <operation/gegl-operation-handlers.h> 85 #include <operation/gegl-operation-property-keys.h> 86 87 G_END_DECLS 88 89 #endif /* __GEGL_PLUGIN_H__ */ 90