core-enums.h 30.3 KB
Newer Older
1
/* GIMP - The GNU Image Manipulation Program
2 3
 * Copyright (C) 1995 Spencer Kimball and Peter Mattis
 *
4
 * This program is free software: you can redistribute it and/or modify
5
 * it under the terms of the GNU General Public License as published by
6
 * the Free Software Foundation; either version 3 of the License, or
7 8 9 10 11 12 13 14
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
15
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 17 18 19 20
 */

#ifndef __CORE_ENUMS_H__
#define __CORE_ENUMS_H__

21

22
#if 0
23
   This file is parsed by two scripts, enumgen.pl in tools/pdbgen,
24
   and gimp-mkenums. All enums that are not marked with
Nate Summers's avatar
Nate Summers committed
25
   /*< pdb-skip >*/ are exported to libgimp and the PDB. Enums that are
26 27 28
   not marked with /*< skip >*/ are registered with the GType system.
   If you want the enum to be skipped by both scripts, you have to use
   /*< pdb-skip, skip >*/.
29

30
   The same syntax applies to enum values.
Nate Summers's avatar
Nate Summers committed
31
#endif
32

33

34
/*
35
 * these enums are registered with the type system
36
 */
37

38

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
#define GIMP_TYPE_COMPONENT_MASK (gimp_component_mask_get_type ())

GType gimp_component_mask_get_type (void) G_GNUC_CONST;

typedef enum /*< pdb-skip >*/
{
  GIMP_COMPONENT_RED   = 1 << 0,
  GIMP_COMPONENT_GREEN = 1 << 1,
  GIMP_COMPONENT_BLUE  = 1 << 2,
  GIMP_COMPONENT_ALPHA = 1 << 3,

  GIMP_COMPONENT_ALL = (GIMP_COMPONENT_RED   |
                        GIMP_COMPONENT_GREEN |
                        GIMP_COMPONENT_BLUE  |
                        GIMP_COMPONENT_ALPHA)
} GimpComponentMask;


57 58 59 60 61 62 63 64 65 66 67 68 69 70
#define GIMP_TYPE_COMPONENT_TYPE (gimp_component_type_get_type ())

GType gimp_component_type_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_COMPONENT_TYPE_U8    = 100, /*< desc="8-bit integer"         >*/
  GIMP_COMPONENT_TYPE_U16   = 200, /*< desc="16-bit integer"        >*/
  GIMP_COMPONENT_TYPE_U32   = 300, /*< desc="32-bit integer"        >*/
  GIMP_COMPONENT_TYPE_HALF  = 400, /*< desc="16-bit floating point" >*/
  GIMP_COMPONENT_TYPE_FLOAT = 500  /*< desc="32-bit floating point" >*/
} GimpComponentType;


71 72 73 74 75 76 77 78 79 80 81
#define GIMP_TYPE_CONTAINER_POLICY (gimp_container_policy_get_type ())

GType gimp_container_policy_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_CONTAINER_POLICY_STRONG,
  GIMP_CONTAINER_POLICY_WEAK
} GimpContainerPolicy;


82 83 84 85 86 87
#define GIMP_TYPE_CONVERT_DITHER_TYPE (gimp_convert_dither_type_get_type ())

GType gimp_convert_dither_type_get_type (void) G_GNUC_CONST;

typedef enum
{
88 89 90 91 92
  GIMP_NO_DITHER,         /*< desc="None"                                     >*/
  GIMP_FS_DITHER,         /*< desc="Floyd-Steinberg (normal)"                 >*/
  GIMP_FSLOWBLEED_DITHER, /*< desc="Floyd-Steinberg (reduced color bleeding)" >*/
  GIMP_FIXED_DITHER,      /*< desc="Positioned"                               >*/
  GIMP_NODESTRUCT_DITHER  /*< pdb-skip, skip >*/
93 94 95
} GimpConvertDitherType;


96 97 98 99 100 101 102 103 104 105 106 107 108 109
#define GIMP_TYPE_CONVERT_PALETTE_TYPE (gimp_convert_palette_type_get_type ())

GType gimp_convert_palette_type_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_MAKE_PALETTE,    /*< desc="Generate optimum palette"            >*/
  GIMP_REUSE_PALETTE,   /*< skip >*/
  GIMP_WEB_PALETTE,     /*< desc="Use web-optimized palette"           >*/
  GIMP_MONO_PALETTE,    /*< desc="Use black and white (1-bit) palette" >*/
  GIMP_CUSTOM_PALETTE   /*< desc="Use custom palette"                  >*/
} GimpConvertPaletteType;


Michael Natterer's avatar
Michael Natterer committed
110 111 112 113 114 115 116 117 118 119 120 121
#define GIMP_TYPE_CONVOLUTION_TYPE (gimp_convolution_type_get_type ())

GType gimp_convolution_type_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_NORMAL_CONVOL,      /*  Negative numbers truncated  */
  GIMP_ABSOLUTE_CONVOL,    /*  Absolute value              */
  GIMP_NEGATIVE_CONVOL     /*  add 127 to values           */
} GimpConvolutionType;


122 123 124 125 126 127 128 129 130 131 132
#define GIMP_TYPE_CURVE_TYPE (gimp_curve_type_get_type ())

GType gimp_curve_type_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_CURVE_SMOOTH,   /*< desc="Smooth"   >*/
  GIMP_CURVE_FREE      /*< desc="Freehand" >*/
} GimpCurveType;


Sven Neumann's avatar
Sven Neumann committed
133 134 135 136 137 138
#define GIMP_TYPE_GRAVITY_TYPE (gimp_gravity_type_get_type ())

GType gimp_gravity_type_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
Sven Neumann's avatar
Sven Neumann committed
139
  GIMP_GRAVITY_NONE,
Sven Neumann's avatar
Sven Neumann committed
140
  GIMP_GRAVITY_NORTH_WEST,
Sven Neumann's avatar
Sven Neumann committed
141
  GIMP_GRAVITY_NORTH,
Sven Neumann's avatar
Sven Neumann committed
142 143
  GIMP_GRAVITY_NORTH_EAST,
  GIMP_GRAVITY_WEST,
Sven Neumann's avatar
Sven Neumann committed
144 145 146 147 148
  GIMP_GRAVITY_CENTER,
  GIMP_GRAVITY_EAST,
  GIMP_GRAVITY_SOUTH_WEST,
  GIMP_GRAVITY_SOUTH,
  GIMP_GRAVITY_SOUTH_EAST
Sven Neumann's avatar
Sven Neumann committed
149 150 151
} GimpGravityType;


152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
#define GIMP_TYPE_HISTOGRAM_CHANNEL (gimp_histogram_channel_get_type ())

GType gimp_histogram_channel_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_HISTOGRAM_VALUE = 0,  /*< desc="Value" >*/
  GIMP_HISTOGRAM_RED   = 1,  /*< desc="Red"   >*/
  GIMP_HISTOGRAM_GREEN = 2,  /*< desc="Green" >*/
  GIMP_HISTOGRAM_BLUE  = 3,  /*< desc="Blue"  >*/
  GIMP_HISTOGRAM_ALPHA = 4,  /*< desc="Alpha" >*/
  GIMP_HISTOGRAM_RGB   = 5   /*< desc="RGB", pdb-skip >*/
} GimpHistogramChannel;


#define GIMP_TYPE_HUE_RANGE (gimp_hue_range_get_type ())

GType gimp_hue_range_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_ALL_HUES,
  GIMP_RED_HUES,
  GIMP_YELLOW_HUES,
  GIMP_GREEN_HUES,
  GIMP_CYAN_HUES,
  GIMP_BLUE_HUES,
  GIMP_MAGENTA_HUES
} GimpHueRange;


Michael Natterer's avatar
Michael Natterer committed
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
#define GIMP_TYPE_LAYER_MODE_EFFECTS (gimp_layer_mode_effects_get_type ())

GType gimp_layer_mode_effects_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_NORMAL_MODE,          /*< desc="Normal"               >*/
  GIMP_DISSOLVE_MODE,        /*< desc="Dissolve"             >*/
  GIMP_BEHIND_MODE,          /*< desc="Behind"               >*/
  GIMP_MULTIPLY_MODE,        /*< desc="Multiply"             >*/
  GIMP_SCREEN_MODE,          /*< desc="Screen"               >*/
  GIMP_OVERLAY_MODE,         /*< desc="Overlay"              >*/
  GIMP_DIFFERENCE_MODE,      /*< desc="Difference"           >*/
  GIMP_ADDITION_MODE,        /*< desc="Addition"             >*/
  GIMP_SUBTRACT_MODE,        /*< desc="Subtract"             >*/
  GIMP_DARKEN_ONLY_MODE,     /*< desc="Darken only"          >*/
  GIMP_LIGHTEN_ONLY_MODE,    /*< desc="Lighten only"         >*/
  GIMP_HUE_MODE,             /*< desc="Hue"                  >*/
  GIMP_SATURATION_MODE,      /*< desc="Saturation"           >*/
  GIMP_COLOR_MODE,           /*< desc="Color"                >*/
  GIMP_VALUE_MODE,           /*< desc="Value"                >*/
  GIMP_DIVIDE_MODE,          /*< desc="Divide"               >*/
  GIMP_DODGE_MODE,           /*< desc="Dodge"                >*/
  GIMP_BURN_MODE,            /*< desc="Burn"                 >*/
  GIMP_HARDLIGHT_MODE,       /*< desc="Hard light"           >*/
  GIMP_SOFTLIGHT_MODE,       /*< desc="Soft light"           >*/
  GIMP_GRAIN_EXTRACT_MODE,   /*< desc="Grain extract"        >*/
  GIMP_GRAIN_MERGE_MODE,     /*< desc="Grain merge"          >*/
  GIMP_COLOR_ERASE_MODE,     /*< desc="Color erase"          >*/
  GIMP_ERASE_MODE,           /*< pdb-skip, desc="Erase"      >*/
  GIMP_REPLACE_MODE,         /*< pdb-skip, desc="Replace"    >*/
  GIMP_ANTI_ERASE_MODE       /*< pdb-skip, desc="Anti erase" >*/
} GimpLayerModeEffects;


218
#define GIMP_TYPE_ALIGNMENT_TYPE (gimp_alignment_type_get_type ())
219 220 221 222 223 224

GType gimp_alignment_type_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_ALIGN_LEFT,
225
  GIMP_ALIGN_HCENTER,
226 227
  GIMP_ALIGN_RIGHT,
  GIMP_ALIGN_TOP,
228 229 230 231 232 233 234 235
  GIMP_ALIGN_VCENTER,
  GIMP_ALIGN_BOTTOM,
  GIMP_ARRANGE_LEFT,
  GIMP_ARRANGE_HCENTER,
  GIMP_ARRANGE_RIGHT,
  GIMP_ARRANGE_TOP,
  GIMP_ARRANGE_VCENTER,
  GIMP_ARRANGE_BOTTOM
236 237 238
} GimpAlignmentType;


239
#define GIMP_TYPE_ALIGN_REFERENCE_TYPE (gimp_align_reference_type_get_type ())
240 241 242 243 244 245 246 247 248 249 250 251 252 253

GType gimp_align_reference_type_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_ALIGN_REFERENCE_FIRST,          /*< desc="First item"     >*/
  GIMP_ALIGN_REFERENCE_IMAGE,          /*< desc="Image"          >*/
  GIMP_ALIGN_REFERENCE_SELECTION,      /*< desc="Selection"      >*/
  GIMP_ALIGN_REFERENCE_ACTIVE_LAYER,   /*< desc="Active layer"   >*/
  GIMP_ALIGN_REFERENCE_ACTIVE_CHANNEL, /*< desc="Active channel" >*/
  GIMP_ALIGN_REFERENCE_ACTIVE_PATH     /*< desc="Active path"    >*/
} GimpAlignReferenceType;


254 255 256 257 258 259
#define GIMP_TYPE_FILL_TYPE (gimp_fill_type_get_type ())

GType gimp_fill_type_get_type (void) G_GNUC_CONST;

typedef enum
{
260 261
  GIMP_FOREGROUND_FILL,   /*< desc="Foreground color" >*/
  GIMP_BACKGROUND_FILL,   /*< desc="Background color" >*/
Sven Neumann's avatar
Sven Neumann committed
262 263 264 265
  GIMP_WHITE_FILL,        /*< desc="White"            >*/
  GIMP_TRANSPARENT_FILL,  /*< desc="Transparency"     >*/
  GIMP_PATTERN_FILL,      /*< desc="Pattern"          >*/
  GIMP_NO_FILL            /*< desc="None",   pdb-skip >*/
266 267 268
} GimpFillType;


269
#define GIMP_TYPE_FILL_STYLE (gimp_fill_style_get_type ())
270

271
GType gimp_fill_style_get_type (void) G_GNUC_CONST;
272 273 274

typedef enum  /*< pdb-skip >*/
{
275 276 277
  GIMP_FILL_STYLE_SOLID,  /*< desc="Solid color" >*/
  GIMP_FILL_STYLE_PATTERN /*< desc="Pattern"     >*/
} GimpFillStyle;
278 279


280
#define GIMP_TYPE_STROKE_METHOD (gimp_stroke_method_get_type ())
281

282
GType gimp_stroke_method_get_type (void) G_GNUC_CONST;
283 284 285

typedef enum  /*< pdb-skip >*/
{
286 287 288
  GIMP_STROKE_METHOD_LIBART,     /*< desc="Stroke line"              >*/
  GIMP_STROKE_METHOD_PAINT_CORE  /*< desc="Stroke with a paint tool" >*/
} GimpStrokeMethod;
289 290


291
#define GIMP_TYPE_JOIN_STYLE (gimp_join_style_get_type ())
Simon Budig's avatar
Simon Budig committed
292

293
GType gimp_join_style_get_type (void) G_GNUC_CONST;
Simon Budig's avatar
Simon Budig committed
294 295 296 297 298 299

typedef enum  /*< pdb-skip >*/
{
  GIMP_JOIN_MITER,  /*< desc="Miter" >*/
  GIMP_JOIN_ROUND,  /*< desc="Round" >*/
  GIMP_JOIN_BEVEL   /*< desc="Bevel" >*/
300
} GimpJoinStyle;
Simon Budig's avatar
Simon Budig committed
301 302


303
#define GIMP_TYPE_CAP_STYLE (gimp_cap_style_get_type ())
Simon Budig's avatar
Simon Budig committed
304

305
GType gimp_cap_style_get_type (void) G_GNUC_CONST;
Simon Budig's avatar
Simon Budig committed
306 307 308 309 310 311

typedef enum  /*< pdb-skip >*/
{
  GIMP_CAP_BUTT,   /*< desc="Butt"   >*/
  GIMP_CAP_ROUND,  /*< desc="Round"  >*/
  GIMP_CAP_SQUARE  /*< desc="Square" >*/
312
} GimpCapStyle;
Simon Budig's avatar
Simon Budig committed
313 314


315 316 317 318 319 320
#define GIMP_TYPE_DASH_PRESET (gimp_dash_preset_get_type ())

GType gimp_dash_preset_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
321 322 323 324 325 326 327 328 329 330 331
  GIMP_DASH_CUSTOM,       /*< desc="Custom"         >*/
  GIMP_DASH_LINE,         /*< desc="Line"           >*/
  GIMP_DASH_LONG_DASH,    /*< desc="Long dashes"    >*/
  GIMP_DASH_MEDIUM_DASH,  /*< desc="Medium dashes"  >*/
  GIMP_DASH_SHORT_DASH,   /*< desc="Short dashes"   >*/
  GIMP_DASH_SPARSE_DOTS,  /*< desc="Sparse dots"    >*/
  GIMP_DASH_NORMAL_DOTS,  /*< desc="Normal dots"    >*/
  GIMP_DASH_DENSE_DOTS,   /*< desc="Dense dots"     >*/
  GIMP_DASH_STIPPLES,     /*< desc="Stipples"       >*/
  GIMP_DASH_DASH_DOT,     /*< desc="Dash, dot"      >*/
  GIMP_DASH_DASH_DOT_DOT  /*< desc="Dash, dot, dot" >*/
332 333 334
} GimpDashPreset;


335 336 337 338
#define GIMP_TYPE_BRUSH_GENERATED_SHAPE (gimp_brush_generated_shape_get_type ())

GType gimp_brush_generated_shape_get_type (void) G_GNUC_CONST;

339
typedef enum
340 341 342 343 344 345 346
{
  GIMP_BRUSH_GENERATED_CIRCLE,  /*< desc="Circle"  >*/
  GIMP_BRUSH_GENERATED_SQUARE,  /*< desc="Square"  >*/
  GIMP_BRUSH_GENERATED_DIAMOND  /*< desc="Diamond" >*/
} GimpBrushGeneratedShape;


347 348 349 350 351 352 353 354 355 356 357 358
#define GIMP_TYPE_ORIENTATION_TYPE (gimp_orientation_type_get_type ())

GType gimp_orientation_type_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_ORIENTATION_HORIZONTAL, /*< desc="Horizontal" >*/
  GIMP_ORIENTATION_VERTICAL,   /*< desc="Vertical"   >*/
  GIMP_ORIENTATION_UNKNOWN     /*< desc="Unknown"    >*/
} GimpOrientationType;


359
#define GIMP_TYPE_PRECISION (gimp_precision_get_type ())
360 361 362

GType gimp_precision_get_type (void) G_GNUC_CONST;

363
typedef enum
364
{
365 366 367 368 369 370 371 372 373 374
  GIMP_PRECISION_U8_LINEAR    = 100, /*< desc="8-bit linear integer"         >*/
  GIMP_PRECISION_U8_GAMMA     = 150, /*< desc="8-bit gamma integer"          >*/
  GIMP_PRECISION_U16_LINEAR   = 200, /*< desc="16-bit linear integer"        >*/
  GIMP_PRECISION_U16_GAMMA    = 250, /*< desc="16-bit gamma integer"         >*/
  GIMP_PRECISION_U32_LINEAR   = 300, /*< desc="32-bit linear integer"        >*/
  GIMP_PRECISION_U32_GAMMA    = 350, /*< desc="32-bit gamma integer"         >*/
  GIMP_PRECISION_HALF_LINEAR  = 400, /*< desc="16-bit linear floating point" >*/
  GIMP_PRECISION_HALF_GAMMA   = 450, /*< desc="16-bit gamma floating point"  >*/
  GIMP_PRECISION_FLOAT_LINEAR = 500, /*< desc="32-bit linear floating point" >*/
  GIMP_PRECISION_FLOAT_GAMMA  = 550  /*< desc="32-bit gamma floating point"  >*/
375 376 377
} GimpPrecision;


378
#define GIMP_TYPE_ITEM_SET (gimp_item_set_get_type ())
379

380
GType gimp_item_set_get_type (void) G_GNUC_CONST;
381 382 383

typedef enum  /*< pdb-skip >*/
{
384 385 386 387 388 389
  GIMP_ITEM_SET_NONE,        /*< desc="None"               >*/
  GIMP_ITEM_SET_ALL,         /*< desc="All layers"         >*/
  GIMP_ITEM_SET_IMAGE_SIZED, /*< desc="Image-sized layers" >*/
  GIMP_ITEM_SET_VISIBLE,     /*< desc="All visible layers" >*/
  GIMP_ITEM_SET_LINKED       /*< desc="All linked layers"  >*/
} GimpItemSet;
390 391


392 393 394 395
#define GIMP_TYPE_ROTATION_TYPE (gimp_rotation_type_get_type ())

GType gimp_rotation_type_get_type (void) G_GNUC_CONST;

396
typedef enum
397 398 399 400 401 402 403
{
  GIMP_ROTATE_90,
  GIMP_ROTATE_180,
  GIMP_ROTATE_270
} GimpRotationType;


404
#define GIMP_TYPE_VIEW_SIZE (gimp_view_size_get_type ())
405

406
GType gimp_view_size_get_type (void) G_GNUC_CONST;
407 408 409

typedef enum  /*< pdb-skip >*/
{
410 411 412 413 414 415 416 417 418 419
  GIMP_VIEW_SIZE_TINY        = 12,   /*< desc="Tiny"        >*/
  GIMP_VIEW_SIZE_EXTRA_SMALL = 16,   /*< desc="Very small"  >*/
  GIMP_VIEW_SIZE_SMALL       = 24,   /*< desc="Small"       >*/
  GIMP_VIEW_SIZE_MEDIUM      = 32,   /*< desc="Medium"      >*/
  GIMP_VIEW_SIZE_LARGE       = 48,   /*< desc="Large"       >*/
  GIMP_VIEW_SIZE_EXTRA_LARGE = 64,   /*< desc="Very large"  >*/
  GIMP_VIEW_SIZE_HUGE        = 96,   /*< desc="Huge"        >*/
  GIMP_VIEW_SIZE_ENORMOUS    = 128,  /*< desc="Enormous"    >*/
  GIMP_VIEW_SIZE_GIGANTIC    = 192   /*< desc="Gigantic"    >*/
} GimpViewSize;
420 421


422 423 424 425 426 427 428 429 430 431 432
#define GIMP_TYPE_VIEW_TYPE (gimp_view_type_get_type ())

GType gimp_view_type_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_VIEW_TYPE_LIST,  /*< desc="View as list" >*/
  GIMP_VIEW_TYPE_GRID   /*< desc="View as grid" >*/
} GimpViewType;


433 434 435 436 437 438
#define GIMP_TYPE_THUMBNAIL_SIZE (gimp_thumbnail_size_get_type ())

GType gimp_thumbnail_size_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
439
  GIMP_THUMBNAIL_SIZE_NONE    = 0,    /*< desc="No thumbnails"    >*/
440 441 442 443 444
  GIMP_THUMBNAIL_SIZE_NORMAL  = 128,  /*< desc="Normal (128x128)" >*/
  GIMP_THUMBNAIL_SIZE_LARGE   = 256   /*< desc="Large (256x256)"  >*/
} GimpThumbnailSize;


445 446 447 448
#define GIMP_TYPE_UNDO_MODE (gimp_undo_mode_get_type ())

GType gimp_undo_mode_get_type (void) G_GNUC_CONST;

449
typedef enum /*< pdb-skip >*/
450 451 452 453 454 455
{
  GIMP_UNDO_MODE_UNDO,
  GIMP_UNDO_MODE_REDO
} GimpUndoMode;


456 457 458 459 460 461 462 463 464 465 466
#define GIMP_TYPE_UNDO_EVENT (gimp_undo_event_get_type ())

GType gimp_undo_event_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_UNDO_EVENT_UNDO_PUSHED,  /* a new undo has been added to the undo stack */
  GIMP_UNDO_EVENT_UNDO_EXPIRED, /* an undo has been freed from the undo stack  */
  GIMP_UNDO_EVENT_REDO_EXPIRED, /* a redo has been freed from the redo stack   */
  GIMP_UNDO_EVENT_UNDO,         /* an undo has been executed                   */
  GIMP_UNDO_EVENT_REDO,         /* a redo has been executed                    */
467 468 469
  GIMP_UNDO_EVENT_UNDO_FREE,    /* all undo and redo info has been cleared     */
  GIMP_UNDO_EVENT_UNDO_FREEZE,  /* undo has been frozen                        */
  GIMP_UNDO_EVENT_UNDO_THAW     /* undo has been thawn                         */
470 471 472
} GimpUndoEvent;


473 474 475 476 477 478 479 480 481
#define GIMP_TYPE_UNDO_TYPE (gimp_undo_type_get_type ())

GType gimp_undo_type_get_type (void) G_GNUC_CONST;

typedef enum /*< pdb-skip >*/
{
  /* Type NO_UNDO_GROUP (0) is special - in the gimpimage structure it
   * means there is no undo group currently being added to.
   */
482
  GIMP_UNDO_GROUP_NONE = 0,           /*< desc="<<invalid>>"                 >*/
483 484 485

  GIMP_UNDO_GROUP_FIRST = GIMP_UNDO_GROUP_NONE, /*< skip >*/

486 487 488 489 490
  GIMP_UNDO_GROUP_IMAGE_SCALE,        /*< desc="Scale image"                 >*/
  GIMP_UNDO_GROUP_IMAGE_RESIZE,       /*< desc="Resize image"                >*/
  GIMP_UNDO_GROUP_IMAGE_FLIP,         /*< desc="Flip image"                  >*/
  GIMP_UNDO_GROUP_IMAGE_ROTATE,       /*< desc="Rotate image"                >*/
  GIMP_UNDO_GROUP_IMAGE_CROP,         /*< desc="Crop image"                  >*/
491
  GIMP_UNDO_GROUP_IMAGE_CONVERT,      /*< desc="Convert image"               >*/
492
  GIMP_UNDO_GROUP_IMAGE_ITEM_REMOVE,  /*< desc="Remove item"                 >*/
493
  GIMP_UNDO_GROUP_IMAGE_LAYERS_MERGE, /*< desc="Merge layers"                >*/
494
  GIMP_UNDO_GROUP_IMAGE_VECTORS_MERGE,/*< desc="Merge paths"                 >*/
495
  GIMP_UNDO_GROUP_IMAGE_QUICK_MASK,   /*< desc="Quick Mask"                  >*/
496
  GIMP_UNDO_GROUP_IMAGE_GRID,         /*< desc="Grid"                        >*/
497 498
  GIMP_UNDO_GROUP_GUIDE,              /*< desc="Guide"                       >*/
  GIMP_UNDO_GROUP_SAMPLE_POINT,       /*< desc="Sample Point"                >*/
499 500
  GIMP_UNDO_GROUP_DRAWABLE,           /*< desc="Layer/Channel"               >*/
  GIMP_UNDO_GROUP_DRAWABLE_MOD,       /*< desc="Layer/Channel modification"  >*/
501 502
  GIMP_UNDO_GROUP_MASK,               /*< desc="Selection mask"              >*/
  GIMP_UNDO_GROUP_ITEM_VISIBILITY,    /*< desc="Item visibility"             >*/
503
  GIMP_UNDO_GROUP_ITEM_LINKED,        /*< desc="Link/Unlink item"            >*/
504 505 506 507
  GIMP_UNDO_GROUP_ITEM_PROPERTIES,    /*< desc="Item properties"             >*/
  GIMP_UNDO_GROUP_ITEM_DISPLACE,      /*< desc="Move item"                   >*/
  GIMP_UNDO_GROUP_ITEM_SCALE,         /*< desc="Scale item"                  >*/
  GIMP_UNDO_GROUP_ITEM_RESIZE,        /*< desc="Resize item"                 >*/
508
  GIMP_UNDO_GROUP_LAYER_ADD,          /*< desc="Add layer"                   >*/
509 510 511 512 513
  GIMP_UNDO_GROUP_LAYER_ADD_MASK,     /*< desc="Add layer mask"              >*/
  GIMP_UNDO_GROUP_LAYER_APPLY_MASK,   /*< desc="Apply layer mask"            >*/
  GIMP_UNDO_GROUP_FS_TO_LAYER,        /*< desc="Floating selection to layer" >*/
  GIMP_UNDO_GROUP_FS_FLOAT,           /*< desc="Float selection"             >*/
  GIMP_UNDO_GROUP_FS_ANCHOR,          /*< desc="Anchor floating selection"   >*/
514 515 516 517 518
  GIMP_UNDO_GROUP_EDIT_PASTE,         /*< desc="Paste"                       >*/
  GIMP_UNDO_GROUP_EDIT_CUT,           /*< desc="Cut"                         >*/
  GIMP_UNDO_GROUP_TEXT,               /*< desc="Text"                        >*/
  GIMP_UNDO_GROUP_TRANSFORM,          /*< desc="Transform"                   >*/
  GIMP_UNDO_GROUP_PAINT,              /*< desc="Paint"                       >*/
519 520 521
  GIMP_UNDO_GROUP_PARASITE_ATTACH,    /*< desc="Attach parasite"             >*/
  GIMP_UNDO_GROUP_PARASITE_REMOVE,    /*< desc="Remove parasite"             >*/
  GIMP_UNDO_GROUP_VECTORS_IMPORT,     /*< desc="Import paths"                >*/
522
  GIMP_UNDO_GROUP_MISC,               /*< desc="Plug-In"                     >*/
523 524

  GIMP_UNDO_GROUP_LAST = GIMP_UNDO_GROUP_MISC, /*< skip >*/
525 526 527

  /*  Undo types which actually do something  */

528
  GIMP_UNDO_IMAGE_TYPE,               /*< desc="Image type"                  >*/
529
  GIMP_UNDO_IMAGE_PRECISION,          /*< desc="Image precision"             >*/
530 531 532 533
  GIMP_UNDO_IMAGE_SIZE,               /*< desc="Image size"                  >*/
  GIMP_UNDO_IMAGE_RESOLUTION,         /*< desc="Image resolution change"     >*/
  GIMP_UNDO_IMAGE_GRID,               /*< desc="Grid"                        >*/
  GIMP_UNDO_IMAGE_COLORMAP,           /*< desc="Change indexed palette"      >*/
534 535
  GIMP_UNDO_GUIDE,                    /*< desc="Guide"                       >*/
  GIMP_UNDO_SAMPLE_POINT,             /*< desc="Sample Point"                >*/
536 537 538
  GIMP_UNDO_DRAWABLE,                 /*< desc="Layer/Channel"               >*/
  GIMP_UNDO_DRAWABLE_MOD,             /*< desc="Layer/Channel modification"  >*/
  GIMP_UNDO_MASK,                     /*< desc="Selection mask"              >*/
539
  GIMP_UNDO_ITEM_REORDER,             /*< desc="Reorder item"                >*/
540 541 542 543
  GIMP_UNDO_ITEM_RENAME,              /*< desc="Rename item"                 >*/
  GIMP_UNDO_ITEM_DISPLACE,            /*< desc="Move item"                   >*/
  GIMP_UNDO_ITEM_VISIBILITY,          /*< desc="Item visibility"             >*/
  GIMP_UNDO_ITEM_LINKED,              /*< desc="Link/Unlink item"            >*/
544 545
  GIMP_UNDO_ITEM_LOCK_CONTENT,        /*< desc="Lock/Unlock content"         >*/
  GIMP_UNDO_ITEM_LOCK_POSITION,       /*< desc="Lock/Unlock position"        >*/
546 547 548 549 550
  GIMP_UNDO_LAYER_ADD,                /*< desc="New layer"                   >*/
  GIMP_UNDO_LAYER_REMOVE,             /*< desc="Delete layer"                >*/
  GIMP_UNDO_LAYER_MODE,               /*< desc="Set layer mode"              >*/
  GIMP_UNDO_LAYER_OPACITY,            /*< desc="Set layer opacity"           >*/
  GIMP_UNDO_LAYER_LOCK_ALPHA,         /*< desc="Lock/Unlock alpha channel"   >*/
551 552
  GIMP_UNDO_GROUP_LAYER_SUSPEND,      /*< desc="Suspend group layer resize"  >*/
  GIMP_UNDO_GROUP_LAYER_RESUME,       /*< desc="Resume group layer resize"   >*/
553
  GIMP_UNDO_GROUP_LAYER_CONVERT,      /*< desc="Convert group layer"         >*/
554 555
  GIMP_UNDO_TEXT_LAYER,               /*< desc="Text layer"                  >*/
  GIMP_UNDO_TEXT_LAYER_MODIFIED,      /*< desc="Text layer modification"     >*/
556
  GIMP_UNDO_TEXT_LAYER_CONVERT,       /*< desc="Convert text layer"          >*/
557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574
  GIMP_UNDO_LAYER_MASK_ADD,           /*< desc="Add layer mask"              >*/
  GIMP_UNDO_LAYER_MASK_REMOVE,        /*< desc="Delete layer mask"           >*/
  GIMP_UNDO_LAYER_MASK_APPLY,         /*< desc="Apply layer mask"            >*/
  GIMP_UNDO_LAYER_MASK_SHOW,          /*< desc="Show layer mask"             >*/
  GIMP_UNDO_CHANNEL_ADD,              /*< desc="New channel"                 >*/
  GIMP_UNDO_CHANNEL_REMOVE,           /*< desc="Delete channel"              >*/
  GIMP_UNDO_CHANNEL_COLOR,            /*< desc="Channel color"               >*/
  GIMP_UNDO_VECTORS_ADD,              /*< desc="New path"                    >*/
  GIMP_UNDO_VECTORS_REMOVE,           /*< desc="Delete path"                 >*/
  GIMP_UNDO_VECTORS_MOD,              /*< desc="Path modification"           >*/
  GIMP_UNDO_FS_TO_LAYER,              /*< desc="Floating selection to layer" >*/
  GIMP_UNDO_TRANSFORM,                /*< desc="Transform"                   >*/
  GIMP_UNDO_PAINT,                    /*< desc="Paint"                       >*/
  GIMP_UNDO_INK,                      /*< desc="Ink"                         >*/
  GIMP_UNDO_FOREGROUND_SELECT,        /*< desc="Select foreground"           >*/
  GIMP_UNDO_PARASITE_ATTACH,          /*< desc="Attach parasite"             >*/
  GIMP_UNDO_PARASITE_REMOVE,          /*< desc="Remove parasite"             >*/

575
  GIMP_UNDO_CANT                      /*< desc="Not undoable"                >*/
576 577 578
} GimpUndoType;


579 580 581 582 583 584 585 586 587
#define GIMP_TYPE_DIRTY_MASK (gimp_dirty_mask_get_type ())

GType gimp_dirty_mask_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_DIRTY_NONE            = 0,

  GIMP_DIRTY_IMAGE           = 1 << 0,
588 589 590 591 592 593 594 595
  GIMP_DIRTY_IMAGE_SIZE      = 1 << 1,
  GIMP_DIRTY_IMAGE_META      = 1 << 2,
  GIMP_DIRTY_IMAGE_STRUCTURE = 1 << 3,
  GIMP_DIRTY_ITEM            = 1 << 4,
  GIMP_DIRTY_ITEM_META       = 1 << 5,
  GIMP_DIRTY_DRAWABLE        = 1 << 6,
  GIMP_DIRTY_VECTORS         = 1 << 7,
  GIMP_DIRTY_SELECTION       = 1 << 8,
596
  GIMP_DIRTY_ACTIVE_DRAWABLE = 1 << 9,
597 598

  GIMP_DIRTY_ALL             = 0xffff
599 600 601
} GimpDirtyMask;


602 603 604 605 606 607 608 609 610 611 612
#define GIMP_TYPE_OFFSET_TYPE (gimp_offset_type_get_type ())

GType gimp_offset_type_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_OFFSET_BACKGROUND,
  GIMP_OFFSET_TRANSPARENT
} GimpOffsetType;


613 614 615 616 617 618 619 620 621 622 623 624 625 626
#define GIMP_TYPE_GRADIENT_COLOR (gimp_gradient_color_get_type ())

GType gimp_gradient_color_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_GRADIENT_COLOR_FIXED,
  GIMP_GRADIENT_COLOR_FOREGROUND,
  GIMP_GRADIENT_COLOR_FOREGROUND_TRANSPARENT,
  GIMP_GRADIENT_COLOR_BACKGROUND,
  GIMP_GRADIENT_COLOR_BACKGROUND_TRANSPARENT
} GimpGradientColor;


627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676
#define GIMP_TYPE_GRADIENT_SEGMENT_TYPE (gimp_gradient_segment_type_get_type ())

GType gimp_gradient_segment_type_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_GRADIENT_SEGMENT_LINEAR,
  GIMP_GRADIENT_SEGMENT_CURVED,
  GIMP_GRADIENT_SEGMENT_SINE,
  GIMP_GRADIENT_SEGMENT_SPHERE_INCREASING,
  GIMP_GRADIENT_SEGMENT_SPHERE_DECREASING
} GimpGradientSegmentType;


#define GIMP_TYPE_GRADIENT_SEGMENT_COLOR (gimp_gradient_segment_color_get_type ())

GType gimp_gradient_segment_color_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_GRADIENT_SEGMENT_RGB,      /* normal RGB           */
  GIMP_GRADIENT_SEGMENT_HSV_CCW,  /* counterclockwise hue */
  GIMP_GRADIENT_SEGMENT_HSV_CW    /* clockwise hue        */
} GimpGradientSegmentColor;


#define GIMP_TYPE_MASK_APPLY_MODE (gimp_mask_apply_mode_get_type ())

GType gimp_mask_apply_mode_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_MASK_APPLY,
  GIMP_MASK_DISCARD
} GimpMaskApplyMode;


#define GIMP_TYPE_MERGE_TYPE (gimp_merge_type_get_type ())

GType gimp_merge_type_get_type (void) G_GNUC_CONST;

typedef enum
{
  GIMP_EXPAND_AS_NECESSARY,
  GIMP_CLIP_TO_IMAGE,
  GIMP_CLIP_TO_BOTTOM_LAYER,
  GIMP_FLATTEN_IMAGE
} GimpMergeType;


677 678 679 680
#define GIMP_TYPE_SELECT_CRITERION (gimp_select_criterion_get_type ())

GType gimp_select_criterion_get_type (void) G_GNUC_CONST;

681
typedef enum
682 683 684 685 686 687 688 689 690 691 692
{
  GIMP_SELECT_CRITERION_COMPOSITE,  /*< desc="Composite"  >*/
  GIMP_SELECT_CRITERION_R,          /*< desc="Red"        >*/
  GIMP_SELECT_CRITERION_G,          /*< desc="Green"      >*/
  GIMP_SELECT_CRITERION_B,          /*< desc="Blue"       >*/
  GIMP_SELECT_CRITERION_H,          /*< desc="Hue"        >*/
  GIMP_SELECT_CRITERION_S,          /*< desc="Saturation" >*/
  GIMP_SELECT_CRITERION_V           /*< desc="Value"      >*/
} GimpSelectCriterion;


693 694 695 696 697 698 699 700 701 702 703 704
#define GIMP_TYPE_MESSAGE_SEVERITY (gimp_message_severity_get_type ())

GType gimp_message_severity_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_MESSAGE_INFO,     /*< desc="Message" >*/
  GIMP_MESSAGE_WARNING,  /*< desc="Warning" >*/
  GIMP_MESSAGE_ERROR     /*< desc="Error"   >*/
} GimpMessageSeverity;


705 706 707 708 709 710
#define GIMP_TYPE_COLOR_PROFILE_POLICY (gimp_color_profile_policy_get_type ())

GType gimp_color_profile_policy_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
Sven Neumann's avatar
Sven Neumann committed
711
  GIMP_COLOR_PROFILE_POLICY_ASK,    /*< desc="Ask what to do"           >*/
712 713 714 715
  GIMP_COLOR_PROFILE_POLICY_KEEP,   /*< desc="Keep embedded profile"    >*/
  GIMP_COLOR_PROFILE_POLICY_CONVERT /*< desc="Convert to RGB workspace" >*/
} GimpColorProfilePolicy;

716

717 718 719 720 721 722 723 724 725
#define GIMP_TYPE_DYNAMICS_OUTPUT_TYPE (gimp_dynamics_output_type_get_type ())

GType gimp_dynamics_output_type_get_type (void) G_GNUC_CONST;

typedef enum  /*< pdb-skip >*/
{
  GIMP_DYNAMICS_OUTPUT_OPACITY,      /*< desc="Opacity"      >*/
  GIMP_DYNAMICS_OUTPUT_SIZE,         /*< desc="Size"         >*/
  GIMP_DYNAMICS_OUTPUT_ANGLE,        /*< desc="Angle"        >*/
726 727
  GIMP_DYNAMICS_OUTPUT_COLOR,        /*< desc="Color"        >*/
  GIMP_DYNAMICS_OUTPUT_HARDNESS,     /*< desc="Hardness"     >*/
728
  GIMP_DYNAMICS_OUTPUT_FORCE,        /*< desc="Force"        >*/
729
  GIMP_DYNAMICS_OUTPUT_ASPECT_RATIO, /*< desc="Aspect ratio" >*/
730
  GIMP_DYNAMICS_OUTPUT_SPACING,      /*< desc="Spacing"      >*/
731
  GIMP_DYNAMICS_OUTPUT_RATE,         /*< desc="Rate"         >*/
732
  GIMP_DYNAMICS_OUTPUT_FLOW,         /*< desc="Flow"         >*/
733
  GIMP_DYNAMICS_OUTPUT_JITTER,       /*< desc="Jitter"       >*/
734 735
} GimpDynamicsOutputType;

736

737 738 739 740
/*
 * non-registered enums; register them if needed
 */

741

Manish Singh's avatar
Manish Singh committed
742
typedef enum  /*< pdb-skip, skip >*/
743
{
744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765
  GIMP_CONTEXT_FIRST_PROP       =  2,

  GIMP_CONTEXT_PROP_IMAGE       =  GIMP_CONTEXT_FIRST_PROP,
  GIMP_CONTEXT_PROP_DISPLAY     =  3,
  GIMP_CONTEXT_PROP_TOOL        =  4,
  GIMP_CONTEXT_PROP_PAINT_INFO  =  5,
  GIMP_CONTEXT_PROP_FOREGROUND  =  6,
  GIMP_CONTEXT_PROP_BACKGROUND  =  7,
  GIMP_CONTEXT_PROP_OPACITY     =  8,
  GIMP_CONTEXT_PROP_PAINT_MODE  =  9,
  GIMP_CONTEXT_PROP_BRUSH       = 10,
  GIMP_CONTEXT_PROP_DYNAMICS    = 11,
  GIMP_CONTEXT_PROP_PATTERN     = 12,
  GIMP_CONTEXT_PROP_GRADIENT    = 13,
  GIMP_CONTEXT_PROP_PALETTE     = 14,
  GIMP_CONTEXT_PROP_TOOL_PRESET = 15,
  GIMP_CONTEXT_PROP_FONT        = 16,
  GIMP_CONTEXT_PROP_BUFFER      = 17,
  GIMP_CONTEXT_PROP_IMAGEFILE   = 18,
  GIMP_CONTEXT_PROP_TEMPLATE    = 19,

  GIMP_CONTEXT_LAST_PROP        = GIMP_CONTEXT_PROP_TEMPLATE
766 767
} GimpContextPropType;

768

Manish Singh's avatar
Manish Singh committed
769
typedef enum  /*< pdb-skip, skip >*/
770
{
771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788
  GIMP_CONTEXT_IMAGE_MASK       = 1 <<  2,
  GIMP_CONTEXT_DISPLAY_MASK     = 1 <<  3,
  GIMP_CONTEXT_TOOL_MASK        = 1 <<  4,
  GIMP_CONTEXT_PAINT_INFO_MASK  = 1 <<  5,
  GIMP_CONTEXT_FOREGROUND_MASK  = 1 <<  6,
  GIMP_CONTEXT_BACKGROUND_MASK  = 1 <<  7,
  GIMP_CONTEXT_OPACITY_MASK     = 1 <<  8,
  GIMP_CONTEXT_PAINT_MODE_MASK  = 1 <<  9,
  GIMP_CONTEXT_BRUSH_MASK       = 1 << 10,
  GIMP_CONTEXT_DYNAMICS_MASK    = 1 << 11,
  GIMP_CONTEXT_PATTERN_MASK     = 1 << 12,
  GIMP_CONTEXT_GRADIENT_MASK    = 1 << 13,
  GIMP_CONTEXT_PALETTE_MASK     = 1 << 14,
  GIMP_CONTEXT_TOOL_PRESET_MASK = 1 << 15,
  GIMP_CONTEXT_FONT_MASK        = 1 << 16,
  GIMP_CONTEXT_BUFFER_MASK      = 1 << 17,
  GIMP_CONTEXT_IMAGEFILE_MASK   = 1 << 18,
  GIMP_CONTEXT_TEMPLATE_MASK    = 1 << 19,
789 790 791

  /*  aliases  */
  GIMP_CONTEXT_PAINT_PROPS_MASK = (GIMP_CONTEXT_FOREGROUND_MASK |
792 793 794 795
                                   GIMP_CONTEXT_BACKGROUND_MASK |
                                   GIMP_CONTEXT_OPACITY_MASK    |
                                   GIMP_CONTEXT_PAINT_MODE_MASK |
                                   GIMP_CONTEXT_BRUSH_MASK      |
Alexia Death's avatar
Alexia Death committed
796
                                   GIMP_CONTEXT_DYNAMICS_MASK   |
797 798
                                   GIMP_CONTEXT_PATTERN_MASK    |
                                   GIMP_CONTEXT_GRADIENT_MASK),
799
  GIMP_CONTEXT_ALL_PROPS_MASK   = (GIMP_CONTEXT_IMAGE_MASK      |
800 801
                                   GIMP_CONTEXT_DISPLAY_MASK    |
                                   GIMP_CONTEXT_TOOL_MASK       |
802
                                   GIMP_CONTEXT_PAINT_INFO_MASK |
803 804 805 806 807 808
                                   GIMP_CONTEXT_PALETTE_MASK    |
                                   GIMP_CONTEXT_FONT_MASK       |
                                   GIMP_CONTEXT_BUFFER_MASK     |
                                   GIMP_CONTEXT_IMAGEFILE_MASK  |
                                   GIMP_CONTEXT_TEMPLATE_MASK   |
                                   GIMP_CONTEXT_PAINT_PROPS_MASK)
809 810
} GimpContextPropMask;

811

812 813
typedef enum  /*< pdb-skip, skip >*/
{
814 815 816
  GIMP_IMAGE_SCALE_OK,
  GIMP_IMAGE_SCALE_TOO_SMALL,
  GIMP_IMAGE_SCALE_TOO_BIG
817
} GimpImageScaleCheckType;
818

819

820 821 822 823 824 825 826 827 828 829 830 831
typedef enum  /*< pdb-skip, skip >*/
{
  GIMP_ITEM_TYPE_LAYERS   = 1 << 0,
  GIMP_ITEM_TYPE_CHANNELS = 1 << 1,
  GIMP_ITEM_TYPE_VECTORS  = 1 << 2,

  GIMP_ITEM_TYPE_ALL      = (GIMP_ITEM_TYPE_LAYERS   |
                             GIMP_ITEM_TYPE_CHANNELS |
                             GIMP_ITEM_TYPE_VECTORS)
} GimpItemTypeMask;


Nate Summers's avatar
Nate Summers committed
832
#endif /* __CORE_ENUMS_H__ */