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 2011 Michael Muré <batolettre@gmail.com> 17 * 18 */ 19 20 /* This file holds public enums from GEGL 21 * 22 * !!!!!!!!!!!! NOTE !!!!!!!!!!!!!! 23 * 24 * Normally, gegl-enums.c file would be be generated my glib-mkenums, 25 * but we use the enum values' registered names for translatable, 26 * human readable labels for the GUI, so gegl-enums.c is maintained 27 * manually. 28 * 29 * DON'T FORGET TO UPDATE gegl-enums.c AFTER CHANGING THIS HEADER 30 * 31 * !!!!!!!!!!!! NOTE !!!!!!!!!!!!!! 32 */ 33 34 #ifndef __GEGL_ENUMS_H__ 35 #define __GEGL_ENUMS_H__ 36 37 G_BEGIN_DECLS 38 39 typedef enum { 40 GEGL_DITHER_NONE, 41 GEGL_DITHER_FLOYD_STEINBERG, 42 GEGL_DITHER_BAYER, 43 GEGL_DITHER_RANDOM, 44 GEGL_DITHER_RANDOM_COVARIANT, 45 GEGL_DITHER_ARITHMETIC_ADD, 46 GEGL_DITHER_ARITHMETIC_ADD_COVARIANT, 47 GEGL_DITHER_ARITHMETIC_XOR, 48 GEGL_DITHER_ARITHMETIC_XOR_COVARIANT, 49 GEGL_DITHER_BLUE_NOISE, 50 GEGL_DITHER_BLUE_NOISE_COVARIANT, 51 } GeglDitherMethod; 52 53 GType gegl_dither_method_get_type (void) G_GNUC_CONST; 54 55 #define GEGL_TYPE_DITHER_METHOD (gegl_dither_method_get_type ()) 56 57 typedef enum { 58 GEGL_DISTANCE_METRIC_EUCLIDEAN, 59 GEGL_DISTANCE_METRIC_MANHATTAN, 60 GEGL_DISTANCE_METRIC_CHEBYSHEV 61 } GeglDistanceMetric; 62 63 GType gegl_distance_metric_get_type (void) G_GNUC_CONST; 64 65 #define GEGL_TYPE_DISTANCE_METRIC (gegl_distance_metric_get_type ()) 66 67 68 typedef enum { 69 GEGL_ORIENTATION_HORIZONTAL, 70 GEGL_ORIENTATION_VERTICAL 71 } GeglOrientation; 72 73 GType gegl_orientation_get_type (void) G_GNUC_CONST; 74 75 #define GEGL_TYPE_ORIENTATION (gegl_orientation_get_type ()) 76 77 78 enum _GeglBablVariant 79 { 80 GEGL_BABL_VARIANT_FLOAT=0, 81 /* pass this one to just ensure a format is float */ 82 GEGL_BABL_VARIANT_LINEAR, 83 /* Y YA RGB RGBA */ 84 GEGL_BABL_VARIANT_NONLINEAR, 85 /* Y' Y'A R'G'B' R'G'B'A */ 86 GEGL_BABL_VARIANT_PERCEPTUAL, 87 /* Y~ Y~A R~G~B~ R~G~B~A */ 88 GEGL_BABL_VARIANT_LINEAR_PREMULTIPLIED, 89 /* YaA RaGaBaA */ 90 GEGL_BABL_VARIANT_PERCEPTUAL_PREMULTIPLIED, 91 /* Y~aA R~aG~aB~aA */ 92 GEGL_BABL_VARIANT_LINEAR_PREMULTIPLIED_IF_ALPHA, 93 /* Y YaA RGB RaGaBaA */ 94 GEGL_BABL_VARIANT_PERCEPTUAL_PREMULTIPLIED_IF_ALPHA, 95 /* Y~ Y~aA R~G~B~A R~aG~aB~aA */ 96 GEGL_BABL_VARIANT_ALPHA 97 /* add alpha if missing keep as premultiplied if already so */ 98 }; 99 typedef enum _GeglBablVariant GeglBablVariant; 100 101 GType gegl_babl_variant_get_type (void) G_GNUC_CONST; 102 103 #define GEGL_TYPE_BABL_VARIANT (gegl_babl_variant_get_type ()) 104 105 106 typedef enum { 107 GEGL_CACHE_POLICY_AUTO, 108 GEGL_CACHE_POLICY_NEVER, 109 GEGL_CACHE_POLICY_ALWAYS 110 } GeglCachePolicy; 111 112 GType gegl_cache_policy_get_type (void) G_GNUC_CONST; 113 114 #define GEGL_TYPE_CACHE_POLICY (gegl_cache_policy_get_type ()) 115 116 G_END_DECLS 117 118 #endif /* __GEGL_ENUMS_H__ */ 119