1 /* GIMP - The GNU Image Manipulation Program 2 * Copyright (C) 1995 Spencer Kimball and Peter Mattis 3 * 4 * operations-enums.h 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <https://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef __OPERATIONS_ENUMS_H__ 21 #define __OPERATIONS_ENUMS_H__ 22 23 24 #define GIMP_TYPE_LAYER_COLOR_SPACE (gimp_layer_color_space_get_type ()) 25 26 GType gimp_layer_color_space_get_type (void) G_GNUC_CONST; 27 28 typedef enum 29 { 30 GIMP_LAYER_COLOR_SPACE_AUTO, /*< desc="Auto" >*/ 31 GIMP_LAYER_COLOR_SPACE_RGB_LINEAR, /*< desc="RGB (linear)" >*/ 32 GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL, /*< desc="RGB (perceptual)" >*/ 33 GIMP_LAYER_COLOR_SPACE_LAB, /*< desc="LAB", pdb-skip >*/ 34 } GimpLayerColorSpace; 35 36 37 #define GIMP_TYPE_LAYER_COMPOSITE_MODE (gimp_layer_composite_mode_get_type ()) 38 39 GType gimp_layer_composite_mode_get_type (void) G_GNUC_CONST; 40 41 typedef enum 42 { 43 GIMP_LAYER_COMPOSITE_AUTO, /*< desc="Auto" >*/ 44 GIMP_LAYER_COMPOSITE_UNION, /*< desc="Union" >*/ 45 GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP, /*< desc="Clip to backdrop" >*/ 46 GIMP_LAYER_COMPOSITE_CLIP_TO_LAYER, /*< desc="Clip to layer" >*/ 47 GIMP_LAYER_COMPOSITE_INTERSECTION /*< desc="Intersection" >*/ 48 } GimpLayerCompositeMode; 49 50 51 #define GIMP_TYPE_LAYER_MODE (gimp_layer_mode_get_type ()) 52 53 GType gimp_layer_mode_get_type (void) G_GNUC_CONST; 54 55 typedef enum 56 { 57 /* Modes that exist since ancient times */ 58 GIMP_LAYER_MODE_NORMAL_LEGACY, /*< desc="Normal (legacy)", abbrev="Normal (l)" >*/ 59 GIMP_LAYER_MODE_DISSOLVE, /*< desc="Dissolve" >*/ 60 GIMP_LAYER_MODE_BEHIND_LEGACY, /*< desc="Behind (legacy)", abbrev="Behind (l)" >*/ 61 GIMP_LAYER_MODE_MULTIPLY_LEGACY, /*< desc="Multiply (legacy)", abbrev="Multiply (l)" >*/ 62 GIMP_LAYER_MODE_SCREEN_LEGACY, /*< desc="Screen (legacy)", abbrev="Screen (l)" >*/ 63 GIMP_LAYER_MODE_OVERLAY_LEGACY, /*< desc="Old broken Overlay", abbrev="Old Overlay" >*/ 64 GIMP_LAYER_MODE_DIFFERENCE_LEGACY, /*< desc="Difference (legacy)", abbrev="Difference (l)" >*/ 65 GIMP_LAYER_MODE_ADDITION_LEGACY, /*< desc="Addition (legacy)", abbrev="Addition (l)" >*/ 66 GIMP_LAYER_MODE_SUBTRACT_LEGACY, /*< desc="Subtract (legacy)", abbrev="Subtract (l)" >*/ 67 GIMP_LAYER_MODE_DARKEN_ONLY_LEGACY, /*< desc="Darken only (legacy)", abbrev="Darken only (l)" >*/ 68 GIMP_LAYER_MODE_LIGHTEN_ONLY_LEGACY, /*< desc="Lighten only (legacy)", abbrev="Lighten only (l)" >*/ 69 GIMP_LAYER_MODE_HSV_HUE_LEGACY, /*< desc="HSV Hue (legacy)", abbrev="HSV Hue (l)" >*/ 70 GIMP_LAYER_MODE_HSV_SATURATION_LEGACY, /*< desc="HSV Saturation (legacy)", abbrev="HSV Saturation (l)" >*/ 71 GIMP_LAYER_MODE_HSL_COLOR_LEGACY, /*< desc="HSL Color (legacy)", abbrev="HSL Color (l)" >*/ 72 GIMP_LAYER_MODE_HSV_VALUE_LEGACY, /*< desc="HSV Value (legacy)", abbrev="HSV Value (l)" >*/ 73 GIMP_LAYER_MODE_DIVIDE_LEGACY, /*< desc="Divide (legacy)", abbrev="Divide (l)" >*/ 74 GIMP_LAYER_MODE_DODGE_LEGACY, /*< desc="Dodge (legacy)", abbrev="Dodge (l)" >*/ 75 GIMP_LAYER_MODE_BURN_LEGACY, /*< desc="Burn (legacy)", abbrev="Burn (l)" >*/ 76 GIMP_LAYER_MODE_HARDLIGHT_LEGACY, /*< desc="Hard light (legacy)", abbrev="Hard light (l)" >*/ 77 78 /* Since 2.8 (XCF version 2) */ 79 GIMP_LAYER_MODE_SOFTLIGHT_LEGACY, /*< desc="Soft light (legacy)", abbrev="Soft light (l)" >*/ 80 GIMP_LAYER_MODE_GRAIN_EXTRACT_LEGACY, /*< desc="Grain extract (legacy)", abbrev="Grain extract (l)" >*/ 81 GIMP_LAYER_MODE_GRAIN_MERGE_LEGACY, /*< desc="Grain merge (legacy)", abbrev="Grain merge (l)" >*/ 82 GIMP_LAYER_MODE_COLOR_ERASE_LEGACY, /*< desc="Color erase (legacy)", abbrev="Color erase (l)" >*/ 83 84 /* Since 2.10 (XCF version 9) */ 85 GIMP_LAYER_MODE_OVERLAY, /*< desc="Overlay" >*/ 86 GIMP_LAYER_MODE_LCH_HUE, /*< desc="LCh Hue" >*/ 87 GIMP_LAYER_MODE_LCH_CHROMA, /*< desc="LCh Chroma" >*/ 88 GIMP_LAYER_MODE_LCH_COLOR, /*< desc="LCh Color" >*/ 89 GIMP_LAYER_MODE_LCH_LIGHTNESS, /*< desc="LCh Lightness" >*/ 90 91 /* Since 2.10 (XCF version 10) */ 92 GIMP_LAYER_MODE_NORMAL, /*< desc="Normal" >*/ 93 GIMP_LAYER_MODE_BEHIND, /*< desc="Behind" >*/ 94 GIMP_LAYER_MODE_MULTIPLY, /*< desc="Multiply" >*/ 95 GIMP_LAYER_MODE_SCREEN, /*< desc="Screen" >*/ 96 GIMP_LAYER_MODE_DIFFERENCE, /*< desc="Difference" >*/ 97 GIMP_LAYER_MODE_ADDITION, /*< desc="Addition" >*/ 98 GIMP_LAYER_MODE_SUBTRACT, /*< desc="Subtract" >*/ 99 GIMP_LAYER_MODE_DARKEN_ONLY, /*< desc="Darken only" >*/ 100 GIMP_LAYER_MODE_LIGHTEN_ONLY, /*< desc="Lighten only" >*/ 101 GIMP_LAYER_MODE_HSV_HUE, /*< desc="HSV Hue" >*/ 102 GIMP_LAYER_MODE_HSV_SATURATION, /*< desc="HSV Saturation" >*/ 103 GIMP_LAYER_MODE_HSL_COLOR, /*< desc="HSL Color" >*/ 104 GIMP_LAYER_MODE_HSV_VALUE, /*< desc="HSV Value" >*/ 105 GIMP_LAYER_MODE_DIVIDE, /*< desc="Divide" >*/ 106 GIMP_LAYER_MODE_DODGE, /*< desc="Dodge" >*/ 107 GIMP_LAYER_MODE_BURN, /*< desc="Burn" >*/ 108 GIMP_LAYER_MODE_HARDLIGHT, /*< desc="Hard light" >*/ 109 GIMP_LAYER_MODE_SOFTLIGHT, /*< desc="Soft light" >*/ 110 GIMP_LAYER_MODE_GRAIN_EXTRACT, /*< desc="Grain extract" >*/ 111 GIMP_LAYER_MODE_GRAIN_MERGE, /*< desc="Grain merge" >*/ 112 GIMP_LAYER_MODE_VIVID_LIGHT, /*< desc="Vivid light" >*/ 113 GIMP_LAYER_MODE_PIN_LIGHT, /*< desc="Pin light" >*/ 114 GIMP_LAYER_MODE_LINEAR_LIGHT, /*< desc="Linear light" >*/ 115 GIMP_LAYER_MODE_HARD_MIX, /*< desc="Hard mix" >*/ 116 GIMP_LAYER_MODE_EXCLUSION, /*< desc="Exclusion" >*/ 117 GIMP_LAYER_MODE_LINEAR_BURN, /*< desc="Linear burn" >*/ 118 GIMP_LAYER_MODE_LUMA_DARKEN_ONLY, /*< desc="Luma/Luminance darken only", abbrev="Luma darken only" >*/ 119 GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY, /*< desc="Luma/Luminance lighten only", abbrev="Luma lighten only" >*/ 120 GIMP_LAYER_MODE_LUMINANCE, /*< desc="Luminance" >*/ 121 GIMP_LAYER_MODE_COLOR_ERASE, /*< desc="Color erase" >*/ 122 GIMP_LAYER_MODE_ERASE, /*< desc="Erase" >*/ 123 GIMP_LAYER_MODE_MERGE, /*< desc="Merge" >*/ 124 GIMP_LAYER_MODE_SPLIT, /*< desc="Split" >*/ 125 GIMP_LAYER_MODE_PASS_THROUGH, /*< desc="Pass through" >*/ 126 127 /* Internal modes, not available to the PDB, must be kept at the end */ 128 GIMP_LAYER_MODE_REPLACE, /*< pdb-skip, desc="Replace" >*/ 129 GIMP_LAYER_MODE_ANTI_ERASE, /*< pdb-skip, desc="Anti erase" >*/ 130 131 /* Layer mode menu separator */ 132 GIMP_LAYER_MODE_SEPARATOR = -1 /*< pdb-skip, skip >*/ 133 } GimpLayerMode; 134 135 136 #define GIMP_TYPE_LAYER_MODE_GROUP (gimp_layer_mode_group_get_type ()) 137 138 GType gimp_layer_mode_group_get_type (void) G_GNUC_CONST; 139 140 typedef enum /*< pdb-skip >*/ 141 { 142 GIMP_LAYER_MODE_GROUP_DEFAULT, /*< desc="Default" >*/ 143 GIMP_LAYER_MODE_GROUP_LEGACY, /*< desc="Legacy" >*/ 144 } GimpLayerModeGroup; 145 146 147 #define GIMP_TYPE_LAYER_MODE_CONTEXT (gimp_layer_mode_context_get_type ()) 148 149 GType gimp_layer_mode_context_get_type (void) G_GNUC_CONST; 150 151 typedef enum /*< pdb-skip >*/ 152 { 153 GIMP_LAYER_MODE_CONTEXT_LAYER = 1 << 0, 154 GIMP_LAYER_MODE_CONTEXT_GROUP = 1 << 1, 155 GIMP_LAYER_MODE_CONTEXT_PAINT = 1 << 2, 156 GIMP_LAYER_MODE_CONTEXT_FILTER = 1 << 3, 157 158 GIMP_LAYER_MODE_CONTEXT_ALL = (GIMP_LAYER_MODE_CONTEXT_LAYER | 159 GIMP_LAYER_MODE_CONTEXT_GROUP | 160 GIMP_LAYER_MODE_CONTEXT_PAINT | 161 GIMP_LAYER_MODE_CONTEXT_FILTER) 162 } GimpLayerModeContext; 163 164 165 /* 166 * non-registered enums; register them if needed 167 */ 168 169 typedef enum /*< pdb-skip, skip >*/ 170 { 171 GIMP_LAYER_COMPOSITE_REGION_INTERSECTION = 0, 172 GIMP_LAYER_COMPOSITE_REGION_DESTINATION = 1 << 0, 173 GIMP_LAYER_COMPOSITE_REGION_SOURCE = 1 << 1, 174 GIMP_LAYER_COMPOSITE_REGION_UNION = (GIMP_LAYER_COMPOSITE_REGION_DESTINATION | 175 GIMP_LAYER_COMPOSITE_REGION_SOURCE), 176 } GimpLayerCompositeRegion; 177 178 typedef enum /*< pdb-skip, skip >*/ 179 { 180 GIMP_LAYER_MODE_FLAG_LEGACY = 1 << 0, 181 GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE = 1 << 1, 182 GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE = 1 << 2, 183 GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE = 1 << 3, 184 GIMP_LAYER_MODE_FLAG_SUBTRACTIVE = 1 << 4, 185 GIMP_LAYER_MODE_FLAG_ALPHA_ONLY = 1 << 5, 186 GIMP_LAYER_MODE_FLAG_TRIVIAL = 1 << 6 187 } GimpLayerModeFlags; 188 189 190 #endif /* __OPERATIONS_ENUMS_H__ */ 191