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 Øyvind Kolås 18 */ 19 20 #ifndef __GEGL_TYPES_H__ 21 #define __GEGL_TYPES_H__ 22 23 #include <glib-object.h> 24 25 #include "gegl-enums.h" 26 27 G_BEGIN_DECLS 28 29 #define GEGL_AUTO_ROWSTRIDE 0 30 31 typedef enum 32 { 33 GEGL_PARAM_PAD_OUTPUT = 1 << G_PARAM_USER_SHIFT, 34 GEGL_PARAM_PAD_INPUT = 1 << (G_PARAM_USER_SHIFT + 1) 35 } GeglPadType; 36 37 typedef enum 38 { 39 GEGL_BLIT_DEFAULT = 0, 40 GEGL_BLIT_CACHE = 1 << 0, 41 GEGL_BLIT_DIRTY = 1 << 1 42 } GeglBlitFlags; 43 44 typedef enum 45 { 46 GEGL_SPLIT_STRATEGY_AUTO, 47 GEGL_SPLIT_STRATEGY_HORIZONTAL, 48 GEGL_SPLIT_STRATEGY_VERTICAL 49 } GeglSplitStrategy; 50 51 52 typedef struct _GeglConfig GeglConfig; 53 GType gegl_config_get_type (void) G_GNUC_CONST; 54 #define GEGL_TYPE_CONFIG (gegl_config_get_type ()) 55 #define GEGL_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEGL_TYPE_CONFIG, GeglConfig)) 56 #define GEGL_IS_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEGL_TYPE_CONFIG)) 57 58 typedef struct _GeglStats GeglStats; 59 GType gegl_stats_get_type (void) G_GNUC_CONST; 60 #define GEGL_TYPE_STATS (gegl_stats_get_type ()) 61 #define GEGL_STATS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEGL_TYPE_STATS, GeglStats)) 62 #define GEGL_IS_STATS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEGL_TYPE_STATS)) 63 64 typedef struct _GeglCurve GeglCurve; 65 typedef struct _GeglPath GeglPath; 66 typedef struct _GeglColor GeglColor; 67 typedef struct _GeglAudioFragment GeglAudioFragment; 68 69 typedef struct _GeglOperationContext GeglOperationContext; 70 71 typedef struct _GeglOperation GeglOperation; 72 GType gegl_operation_get_type (void) G_GNUC_CONST; 73 #define GEGL_TYPE_OPERATION (gegl_operation_get_type ()) 74 #define GEGL_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEGL_TYPE_OPERATION, GeglOperation)) 75 #define GEGL_IS_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEGL_TYPE_OPERATION)) 76 G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeglOperation, g_object_unref) 77 78 typedef struct _GeglNode GeglNode; 79 GType gegl_node_get_type (void) G_GNUC_CONST; 80 #define GEGL_TYPE_NODE (gegl_node_get_type()) 81 #define GEGL_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEGL_TYPE_NODE, GeglNode)) 82 #define GEGL_IS_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEGL_TYPE_NODE)) 83 G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeglNode, g_object_unref) 84 85 typedef struct _GeglProcessor GeglProcessor; 86 GType gegl_processor_get_type (void) G_GNUC_CONST; 87 #define GEGL_TYPE_PROCESSOR (gegl_processor_get_type()) 88 #define GEGL_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEGL_TYPE_PROCESSOR, GeglProcessor)) 89 #define GEGL_IS_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEGL_TYPE_PROCESSOR)) 90 G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeglProcessor, g_object_unref) 91 92 typedef struct _GeglRandom GeglRandom; 93 GType gegl_random_get_type (void) G_GNUC_CONST; 94 #define GEGL_TYPE_RANDOM (gegl_random_get_type()) 95 96 #include <gegl-buffer.h> 97 98 G_END_DECLS 99 100 #endif /* __GEGL_TYPES_H__ */ 101