1 /* GIMP - The GNU Image Manipulation Program
2  * Copyright (C) 1995 Spencer Kimball and Peter Mattis
3  *
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  * (at your option) any later version.
8  *
9  * This program 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
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef __CORE_ENUMS_H__
19 #define __CORE_ENUMS_H__
20 
21 
22 #if 0
23    This file is parsed by two scripts, enumgen.pl in pdb,
24    and gimp-mkenums. All enums that are not marked with
25    /*< pdb-skip >*/ are exported to libgimp and the PDB. Enums that are
26    not marked with /*< skip >*/ are registered with the GType system.
27    If you want the enum to be skipped by both scripts, you have to use
28    /*< pdb-skip, skip >*/.
29 
30    The same syntax applies to enum values.
31 #endif
32 
33 
34 /*
35  * these enums are registered with the type system
36  */
37 
38 
39 #define GIMP_TYPE_ALIGN_REFERENCE_TYPE (gimp_align_reference_type_get_type ())
40 
41 GType gimp_align_reference_type_get_type (void) G_GNUC_CONST;
42 
43 typedef enum  /*< pdb-skip >*/
44 {
45   GIMP_ALIGN_REFERENCE_FIRST,          /*< desc="First item"     >*/
46   GIMP_ALIGN_REFERENCE_IMAGE,          /*< desc="Image"          >*/
47   GIMP_ALIGN_REFERENCE_SELECTION,      /*< desc="Selection"      >*/
48   GIMP_ALIGN_REFERENCE_ACTIVE_LAYER,   /*< desc="Active layer"   >*/
49   GIMP_ALIGN_REFERENCE_ACTIVE_CHANNEL, /*< desc="Active channel" >*/
50   GIMP_ALIGN_REFERENCE_ACTIVE_PATH     /*< desc="Active path"    >*/
51 } GimpAlignReferenceType;
52 
53 
54 #define GIMP_TYPE_ALIGNMENT_TYPE (gimp_alignment_type_get_type ())
55 
56 GType gimp_alignment_type_get_type (void) G_GNUC_CONST;
57 
58 typedef enum  /*< pdb-skip >*/
59 {
60   GIMP_ALIGN_LEFT,
61   GIMP_ALIGN_HCENTER,
62   GIMP_ALIGN_RIGHT,
63   GIMP_ALIGN_TOP,
64   GIMP_ALIGN_VCENTER,
65   GIMP_ALIGN_BOTTOM,
66   GIMP_ARRANGE_LEFT,
67   GIMP_ARRANGE_HCENTER,
68   GIMP_ARRANGE_RIGHT,
69   GIMP_ARRANGE_TOP,
70   GIMP_ARRANGE_VCENTER,
71   GIMP_ARRANGE_BOTTOM,
72   GIMP_ARRANGE_HFILL,
73   GIMP_ARRANGE_VFILL
74 } GimpAlignmentType;
75 
76 
77 #define GIMP_TYPE_CHANNEL_BORDER_STYLE (gimp_channel_border_style_get_type ())
78 
79 GType gimp_channel_border_style_get_type (void) G_GNUC_CONST;
80 
81 typedef enum  /*< pdb-skip >*/
82 {
83   GIMP_CHANNEL_BORDER_STYLE_HARD,     /*< desc="Hard"      >*/
84   GIMP_CHANNEL_BORDER_STYLE_SMOOTH,   /*< desc="Smooth"    >*/
85   GIMP_CHANNEL_BORDER_STYLE_FEATHERED /*< desc="Feathered" >*/
86 } GimpChannelBorderStyle;
87 
88 
89 /*  Note: when appending values here, don't forget to update
90  *  GimpColorFrame and other places use this enum to create combo
91  *  boxes.
92  */
93 #define GIMP_TYPE_COLOR_PICK_MODE (gimp_color_pick_mode_get_type ())
94 
95 GType gimp_color_pick_mode_get_type (void) G_GNUC_CONST;
96 
97 typedef enum  /*< pdb-skip >*/
98 {
99   GIMP_COLOR_PICK_MODE_PIXEL,       /*< desc="Pixel"        >*/
100   GIMP_COLOR_PICK_MODE_RGB_PERCENT, /*< desc="RGB (%)"      >*/
101   GIMP_COLOR_PICK_MODE_RGB_U8,      /*< desc="RGB (0..255)" >*/
102   GIMP_COLOR_PICK_MODE_HSV,         /*< desc="HSV"          >*/
103   GIMP_COLOR_PICK_MODE_LCH,         /*< desc="CIE LCh"      >*/
104   GIMP_COLOR_PICK_MODE_LAB,         /*< desc="CIE LAB"      >*/
105   GIMP_COLOR_PICK_MODE_CMYK,        /*< desc="CMYK"         >*/
106   GIMP_COLOR_PICK_MODE_XYY,         /*< desc="CIE xyY"      >*/
107   GIMP_COLOR_PICK_MODE_YUV,         /*< desc="CIE Yu'v'"      >*/
108 
109   GIMP_COLOR_PICK_MODE_LAST = GIMP_COLOR_PICK_MODE_YUV /*< skip >*/
110 } GimpColorPickMode;
111 
112 
113 #define GIMP_TYPE_COLOR_PROFILE_POLICY (gimp_color_profile_policy_get_type ())
114 
115 GType gimp_color_profile_policy_get_type (void) G_GNUC_CONST;
116 
117 typedef enum  /*< pdb-skip >*/
118 {
119   GIMP_COLOR_PROFILE_POLICY_ASK,    /*< desc="Ask what to do"           >*/
120   GIMP_COLOR_PROFILE_POLICY_KEEP,   /*< desc="Keep embedded profile"    >*/
121   GIMP_COLOR_PROFILE_POLICY_CONVERT /*< desc="Convert to built-in sRGB or grayscale profile" >*/
122 } GimpColorProfilePolicy;
123 
124 
125 #define GIMP_TYPE_COMPONENT_MASK (gimp_component_mask_get_type ())
126 
127 GType gimp_component_mask_get_type (void) G_GNUC_CONST;
128 
129 typedef enum /*< pdb-skip >*/
130 {
131   GIMP_COMPONENT_MASK_RED   = 1 << 0,
132   GIMP_COMPONENT_MASK_GREEN = 1 << 1,
133   GIMP_COMPONENT_MASK_BLUE  = 1 << 2,
134   GIMP_COMPONENT_MASK_ALPHA = 1 << 3,
135 
136   GIMP_COMPONENT_MASK_ALL = (GIMP_COMPONENT_MASK_RED   |
137                              GIMP_COMPONENT_MASK_GREEN |
138                              GIMP_COMPONENT_MASK_BLUE  |
139                              GIMP_COMPONENT_MASK_ALPHA)
140 } GimpComponentMask;
141 
142 
143 #define GIMP_TYPE_CONTAINER_POLICY (gimp_container_policy_get_type ())
144 
145 GType gimp_container_policy_get_type (void) G_GNUC_CONST;
146 
147 typedef enum  /*< pdb-skip >*/
148 {
149   GIMP_CONTAINER_POLICY_STRONG,
150   GIMP_CONTAINER_POLICY_WEAK
151 } GimpContainerPolicy;
152 
153 
154 #define GIMP_TYPE_CONVERT_DITHER_TYPE (gimp_convert_dither_type_get_type ())
155 
156 GType gimp_convert_dither_type_get_type (void) G_GNUC_CONST;
157 
158 typedef enum
159 {
160   GIMP_CONVERT_DITHER_NONE,        /*< desc="None"                                     >*/
161   GIMP_CONVERT_DITHER_FS,          /*< desc="Floyd-Steinberg (normal)"                 >*/
162   GIMP_CONVERT_DITHER_FS_LOWBLEED, /*< desc="Floyd-Steinberg (reduced color bleeding)" >*/
163   GIMP_CONVERT_DITHER_FIXED,       /*< desc="Positioned"                               >*/
164   GIMP_CONVERT_DITHER_NODESTRUCT   /*< pdb-skip, skip >*/
165 } GimpConvertDitherType;
166 
167 
168 #define GIMP_TYPE_CONVOLUTION_TYPE (gimp_convolution_type_get_type ())
169 
170 GType gimp_convolution_type_get_type (void) G_GNUC_CONST;
171 
172 typedef enum  /*< pdb-skip >*/
173 {
174   GIMP_NORMAL_CONVOL,      /*  Negative numbers truncated  */
175   GIMP_ABSOLUTE_CONVOL,    /*  Absolute value              */
176   GIMP_NEGATIVE_CONVOL     /*  add 127 to values           */
177 } GimpConvolutionType;
178 
179 
180 #define GIMP_TYPE_CURVE_POINT_TYPE (gimp_curve_point_type_get_type ())
181 
182 GType gimp_curve_point_type_get_type (void) G_GNUC_CONST;
183 
184 typedef enum  /*< pdb-skip >*/
185 {
186   GIMP_CURVE_POINT_SMOOTH,   /*< desc="Smooth" >*/
187   GIMP_CURVE_POINT_CORNER    /*< desc="Corner" >*/
188 } GimpCurvePointType;
189 
190 
191 #define GIMP_TYPE_CURVE_TYPE (gimp_curve_type_get_type ())
192 
193 GType gimp_curve_type_get_type (void) G_GNUC_CONST;
194 
195 typedef enum  /*< pdb-skip >*/
196 {
197   GIMP_CURVE_SMOOTH,   /*< desc="Smooth"   >*/
198   GIMP_CURVE_FREE      /*< desc="Freehand" >*/
199 } GimpCurveType;
200 
201 
202 #define GIMP_TYPE_DASH_PRESET (gimp_dash_preset_get_type ())
203 
204 GType gimp_dash_preset_get_type (void) G_GNUC_CONST;
205 
206 typedef enum  /*< pdb-skip >*/
207 {
208   GIMP_DASH_CUSTOM,       /*< desc="Custom"         >*/
209   GIMP_DASH_LINE,         /*< desc="Line"           >*/
210   GIMP_DASH_LONG_DASH,    /*< desc="Long dashes"    >*/
211   GIMP_DASH_MEDIUM_DASH,  /*< desc="Medium dashes"  >*/
212   GIMP_DASH_SHORT_DASH,   /*< desc="Short dashes"   >*/
213   GIMP_DASH_SPARSE_DOTS,  /*< desc="Sparse dots"    >*/
214   GIMP_DASH_NORMAL_DOTS,  /*< desc="Normal dots"    >*/
215   GIMP_DASH_DENSE_DOTS,   /*< desc="Dense dots"     >*/
216   GIMP_DASH_STIPPLES,     /*< desc="Stipples"       >*/
217   GIMP_DASH_DASH_DOT,     /*< desc="Dash, dot"      >*/
218   GIMP_DASH_DASH_DOT_DOT  /*< desc="Dash, dot, dot" >*/
219 } GimpDashPreset;
220 
221 
222 #define GIMP_TYPE_DEBUG_POLICY (gimp_debug_policy_get_type ())
223 
224 GType gimp_debug_policy_get_type (void) G_GNUC_CONST;
225 
226 typedef enum  /*< pdb-skip >*/
227 {
228   GIMP_DEBUG_POLICY_WARNING,    /*< desc="Debug warnings, critical errors and crashes" >*/
229   GIMP_DEBUG_POLICY_CRITICAL,   /*< desc="Debug critical errors and crashes"           >*/
230   GIMP_DEBUG_POLICY_FATAL,      /*< desc="Debug crashes only"                          >*/
231   GIMP_DEBUG_POLICY_NEVER       /*< desc="Never debug GIMP"                            >*/
232 } GimpDebugPolicy;
233 
234 
235 #define GIMP_TYPE_DIRTY_MASK (gimp_dirty_mask_get_type ())
236 
237 GType gimp_dirty_mask_get_type (void) G_GNUC_CONST;
238 
239 typedef enum  /*< pdb-skip >*/
240 {
241   GIMP_DIRTY_NONE            = 0,
242 
243   GIMP_DIRTY_IMAGE           = 1 << 0,
244   GIMP_DIRTY_IMAGE_SIZE      = 1 << 1,
245   GIMP_DIRTY_IMAGE_META      = 1 << 2,
246   GIMP_DIRTY_IMAGE_STRUCTURE = 1 << 3,
247   GIMP_DIRTY_ITEM            = 1 << 4,
248   GIMP_DIRTY_ITEM_META       = 1 << 5,
249   GIMP_DIRTY_DRAWABLE        = 1 << 6,
250   GIMP_DIRTY_VECTORS         = 1 << 7,
251   GIMP_DIRTY_SELECTION       = 1 << 8,
252   GIMP_DIRTY_ACTIVE_DRAWABLE = 1 << 9,
253 
254   GIMP_DIRTY_ALL             = 0xffff
255 } GimpDirtyMask;
256 
257 
258 #define GIMP_TYPE_DYNAMICS_OUTPUT_TYPE (gimp_dynamics_output_type_get_type ())
259 
260 GType gimp_dynamics_output_type_get_type (void) G_GNUC_CONST;
261 
262 typedef enum  /*< pdb-skip >*/
263 {
264   GIMP_DYNAMICS_OUTPUT_OPACITY,      /*< desc="Opacity"      >*/
265   GIMP_DYNAMICS_OUTPUT_SIZE,         /*< desc="Size"         >*/
266   GIMP_DYNAMICS_OUTPUT_ANGLE,        /*< desc="Angle"        >*/
267   GIMP_DYNAMICS_OUTPUT_COLOR,        /*< desc="Color"        >*/
268   GIMP_DYNAMICS_OUTPUT_HARDNESS,     /*< desc="Hardness"     >*/
269   GIMP_DYNAMICS_OUTPUT_FORCE,        /*< desc="Force"        >*/
270   GIMP_DYNAMICS_OUTPUT_ASPECT_RATIO, /*< desc="Aspect ratio" >*/
271   GIMP_DYNAMICS_OUTPUT_SPACING,      /*< desc="Spacing"      >*/
272   GIMP_DYNAMICS_OUTPUT_RATE,         /*< desc="Rate"         >*/
273   GIMP_DYNAMICS_OUTPUT_FLOW,         /*< desc="Flow"         >*/
274   GIMP_DYNAMICS_OUTPUT_JITTER,       /*< desc="Jitter"       >*/
275 } GimpDynamicsOutputType;
276 
277 
278 #define GIMP_TYPE_FILL_STYLE (gimp_fill_style_get_type ())
279 
280 GType gimp_fill_style_get_type (void) G_GNUC_CONST;
281 
282 typedef enum  /*< pdb-skip >*/
283 {
284   GIMP_FILL_STYLE_SOLID,  /*< desc="Solid color" >*/
285   GIMP_FILL_STYLE_PATTERN /*< desc="Pattern"     >*/
286 } GimpFillStyle;
287 
288 
289 #define GIMP_TYPE_FILTER_REGION (gimp_filter_region_get_type ())
290 
291 GType gimp_filter_region_get_type (void) G_GNUC_CONST;
292 
293 typedef enum  /*< pdb-skip >*/
294 {
295   GIMP_FILTER_REGION_SELECTION, /*< desc="Use the selection as input"    >*/
296   GIMP_FILTER_REGION_DRAWABLE   /*< desc="Use the entire layer as input" >*/
297 } GimpFilterRegion;
298 
299 
300 #define GIMP_TYPE_GRADIENT_COLOR (gimp_gradient_color_get_type ())
301 
302 GType gimp_gradient_color_get_type (void) G_GNUC_CONST;
303 
304 typedef enum  /*< pdb-skip >*/
305 {
306   GIMP_GRADIENT_COLOR_FIXED,                  /*< desc="Fixed"                                           >*/
307   GIMP_GRADIENT_COLOR_FOREGROUND,             /*< desc="Foreground color",               abbrev="FG"     >*/
308   GIMP_GRADIENT_COLOR_FOREGROUND_TRANSPARENT, /*< desc="Foreground color (transparent)",  abbrev="FG (t)" >*/
309   GIMP_GRADIENT_COLOR_BACKGROUND,             /*< desc="Background color",               abbrev="BG"     >*/
310   GIMP_GRADIENT_COLOR_BACKGROUND_TRANSPARENT  /*< desc="Background color (transparent)", abbrev="BG (t)" >*/
311 } GimpGradientColor;
312 
313 
314 #define GIMP_TYPE_GRAVITY_TYPE (gimp_gravity_type_get_type ())
315 
316 GType gimp_gravity_type_get_type (void) G_GNUC_CONST;
317 
318 typedef enum  /*< pdb-skip >*/
319 {
320   GIMP_GRAVITY_NONE,
321   GIMP_GRAVITY_NORTH_WEST,
322   GIMP_GRAVITY_NORTH,
323   GIMP_GRAVITY_NORTH_EAST,
324   GIMP_GRAVITY_WEST,
325   GIMP_GRAVITY_CENTER,
326   GIMP_GRAVITY_EAST,
327   GIMP_GRAVITY_SOUTH_WEST,
328   GIMP_GRAVITY_SOUTH,
329   GIMP_GRAVITY_SOUTH_EAST
330 } GimpGravityType;
331 
332 
333 #define GIMP_TYPE_GUIDE_STYLE (gimp_guide_style_get_type ())
334 
335 GType gimp_guide_style_get_type (void) G_GNUC_CONST;
336 
337 typedef enum /*< pdb-skip >*/
338 {
339   GIMP_GUIDE_STYLE_NONE,
340   GIMP_GUIDE_STYLE_NORMAL,
341   GIMP_GUIDE_STYLE_MIRROR,
342   GIMP_GUIDE_STYLE_MANDALA,
343   GIMP_GUIDE_STYLE_SPLIT_VIEW
344 } GimpGuideStyle;
345 
346 
347 #define GIMP_TYPE_HISTOGRAM_CHANNEL (gimp_histogram_channel_get_type ())
348 
349 GType gimp_histogram_channel_get_type (void) G_GNUC_CONST;
350 
351 typedef enum
352 {
353   GIMP_HISTOGRAM_VALUE     = 0,  /*< desc="Value"         >*/
354   GIMP_HISTOGRAM_RED       = 1,  /*< desc="Red"           >*/
355   GIMP_HISTOGRAM_GREEN     = 2,  /*< desc="Green"         >*/
356   GIMP_HISTOGRAM_BLUE      = 3,  /*< desc="Blue"          >*/
357   GIMP_HISTOGRAM_ALPHA     = 4,  /*< desc="Alpha"         >*/
358   GIMP_HISTOGRAM_LUMINANCE = 5,  /*< desc="Luminance"     >*/
359   GIMP_HISTOGRAM_RGB       = 6   /*< desc="RGB", pdb-skip >*/
360 } GimpHistogramChannel;
361 
362 
363 #define GIMP_TYPE_ITEM_SET (gimp_item_set_get_type ())
364 
365 GType gimp_item_set_get_type (void) G_GNUC_CONST;
366 
367 typedef enum  /*< pdb-skip >*/
368 {
369   GIMP_ITEM_SET_NONE,        /*< desc="None"               >*/
370   GIMP_ITEM_SET_ALL,         /*< desc="All layers"         >*/
371   GIMP_ITEM_SET_IMAGE_SIZED, /*< desc="Image-sized layers" >*/
372   GIMP_ITEM_SET_VISIBLE,     /*< desc="All visible layers" >*/
373   GIMP_ITEM_SET_LINKED       /*< desc="All linked layers"  >*/
374 } GimpItemSet;
375 
376 
377 #define GIMP_TYPE_MATTING_ENGINE (gimp_matting_engine_get_type ())
378 
379 GType gimp_matting_engine_get_type (void) G_GNUC_CONST;
380 
381 typedef enum  /*< pdb-skip >*/
382 {
383   GIMP_MATTING_ENGINE_GLOBAL,  /*< desc="Matting Global" >*/
384   GIMP_MATTING_ENGINE_LEVIN,   /*< desc="Matting Levin" >*/
385 } GimpMattingEngine;
386 
387 
388 #define GIMP_TYPE_MESSAGE_SEVERITY (gimp_message_severity_get_type ())
389 
390 GType gimp_message_severity_get_type (void) G_GNUC_CONST;
391 
392 typedef enum  /*< pdb-skip >*/
393 {
394   GIMP_MESSAGE_INFO,        /*< desc="Message"  >*/
395   GIMP_MESSAGE_WARNING,     /*< desc="Warning"  >*/
396   GIMP_MESSAGE_ERROR,       /*< desc="Error"    >*/
397   GIMP_MESSAGE_BUG_WARNING, /*< desc="WARNING"  >*/
398   GIMP_MESSAGE_BUG_CRITICAL /*< desc="CRITICAL" >*/
399 } GimpMessageSeverity;
400 
401 
402 #define GIMP_TYPE_PASTE_TYPE (gimp_paste_type_get_type ())
403 
404 GType gimp_paste_type_get_type (void) G_GNUC_CONST;
405 
406 typedef enum  /*< pdb-skip >*/
407 {
408   GIMP_PASTE_TYPE_FLOATING,
409   GIMP_PASTE_TYPE_FLOATING_IN_PLACE,
410   GIMP_PASTE_TYPE_FLOATING_INTO,
411   GIMP_PASTE_TYPE_FLOATING_INTO_IN_PLACE,
412   GIMP_PASTE_TYPE_NEW_LAYER,
413   GIMP_PASTE_TYPE_NEW_LAYER_IN_PLACE
414 } GimpPasteType;
415 
416 
417 #define GIMP_TYPE_THUMBNAIL_SIZE (gimp_thumbnail_size_get_type ())
418 
419 GType gimp_thumbnail_size_get_type (void) G_GNUC_CONST;
420 
421 typedef enum  /*< pdb-skip >*/
422 {
423   GIMP_THUMBNAIL_SIZE_NONE    = 0,    /*< desc="No thumbnails"    >*/
424   GIMP_THUMBNAIL_SIZE_NORMAL  = 128,  /*< desc="Normal (128x128)" >*/
425   GIMP_THUMBNAIL_SIZE_LARGE   = 256   /*< desc="Large (256x256)"  >*/
426 } GimpThumbnailSize;
427 
428 
429 #define GIMP_TYPE_UNDO_EVENT (gimp_undo_event_get_type ())
430 
431 GType gimp_undo_event_get_type (void) G_GNUC_CONST;
432 
433 typedef enum  /*< pdb-skip >*/
434 {
435   GIMP_UNDO_EVENT_UNDO_PUSHED,  /* a new undo has been added to the undo stack */
436   GIMP_UNDO_EVENT_UNDO_EXPIRED, /* an undo has been freed from the undo stack  */
437   GIMP_UNDO_EVENT_REDO_EXPIRED, /* a redo has been freed from the redo stack   */
438   GIMP_UNDO_EVENT_UNDO,         /* an undo has been executed                   */
439   GIMP_UNDO_EVENT_REDO,         /* a redo has been executed                    */
440   GIMP_UNDO_EVENT_UNDO_FREE,    /* all undo and redo info has been cleared     */
441   GIMP_UNDO_EVENT_UNDO_FREEZE,  /* undo has been frozen                        */
442   GIMP_UNDO_EVENT_UNDO_THAW     /* undo has been thawn                         */
443 } GimpUndoEvent;
444 
445 
446 #define GIMP_TYPE_UNDO_MODE (gimp_undo_mode_get_type ())
447 
448 GType gimp_undo_mode_get_type (void) G_GNUC_CONST;
449 
450 typedef enum /*< pdb-skip >*/
451 {
452   GIMP_UNDO_MODE_UNDO,
453   GIMP_UNDO_MODE_REDO
454 } GimpUndoMode;
455 
456 
457 #define GIMP_TYPE_UNDO_TYPE (gimp_undo_type_get_type ())
458 
459 GType gimp_undo_type_get_type (void) G_GNUC_CONST;
460 
461 typedef enum /*< pdb-skip >*/
462 {
463   /* Type NO_UNDO_GROUP (0) is special - in the gimpimage structure it
464    * means there is no undo group currently being added to.
465    */
466   GIMP_UNDO_GROUP_NONE = 0,              /*< desc="<<invalid>>"                    >*/
467 
468   GIMP_UNDO_GROUP_FIRST = GIMP_UNDO_GROUP_NONE, /*< skip >*/
469 
470   GIMP_UNDO_GROUP_IMAGE_SCALE,           /*< desc="Scale image"                    >*/
471   GIMP_UNDO_GROUP_IMAGE_RESIZE,          /*< desc="Resize image"                   >*/
472   GIMP_UNDO_GROUP_IMAGE_FLIP,            /*< desc="Flip image"                     >*/
473   GIMP_UNDO_GROUP_IMAGE_ROTATE,          /*< desc="Rotate image"                   >*/
474   GIMP_UNDO_GROUP_IMAGE_TRANSFORM,       /*< desc="Transform image"                >*/
475   GIMP_UNDO_GROUP_IMAGE_CROP,            /*< desc="Crop image"                     >*/
476   GIMP_UNDO_GROUP_IMAGE_CONVERT,         /*< desc="Convert image"                  >*/
477   GIMP_UNDO_GROUP_IMAGE_ITEM_REMOVE,     /*< desc="Remove item"                    >*/
478   GIMP_UNDO_GROUP_IMAGE_ITEM_REORDER,    /*< desc="Reorder item"                   >*/
479   GIMP_UNDO_GROUP_IMAGE_LAYERS_MERGE,    /*< desc="Merge layers"                   >*/
480   GIMP_UNDO_GROUP_IMAGE_VECTORS_MERGE,   /*< desc="Merge paths"                    >*/
481   GIMP_UNDO_GROUP_IMAGE_QUICK_MASK,      /*< desc="Quick Mask"                     >*/
482   GIMP_UNDO_GROUP_IMAGE_GRID,            /*< desc="Grid"                           >*/
483   GIMP_UNDO_GROUP_GUIDE,                 /*< desc="Guide"                          >*/
484   GIMP_UNDO_GROUP_SAMPLE_POINT,          /*< desc="Sample Point"                   >*/
485   GIMP_UNDO_GROUP_DRAWABLE,              /*< desc="Layer/Channel"                  >*/
486   GIMP_UNDO_GROUP_DRAWABLE_MOD,          /*< desc="Layer/Channel modification"     >*/
487   GIMP_UNDO_GROUP_MASK,                  /*< desc="Selection mask"                 >*/
488   GIMP_UNDO_GROUP_ITEM_VISIBILITY,       /*< desc="Item visibility"                >*/
489   GIMP_UNDO_GROUP_ITEM_LINKED,           /*< desc="Link/Unlink item"               >*/
490   GIMP_UNDO_GROUP_ITEM_PROPERTIES,       /*< desc="Item properties"                >*/
491   GIMP_UNDO_GROUP_ITEM_DISPLACE,         /*< desc="Move item"                      >*/
492   GIMP_UNDO_GROUP_ITEM_SCALE,            /*< desc="Scale item"                     >*/
493   GIMP_UNDO_GROUP_ITEM_RESIZE,           /*< desc="Resize item"                    >*/
494   GIMP_UNDO_GROUP_LAYER_ADD,             /*< desc="Add layer"                      >*/
495   GIMP_UNDO_GROUP_LAYER_ADD_MASK,        /*< desc="Add layer mask"                 >*/
496   GIMP_UNDO_GROUP_LAYER_APPLY_MASK,      /*< desc="Apply layer mask"               >*/
497   GIMP_UNDO_GROUP_FS_TO_LAYER,           /*< desc="Floating selection to layer"    >*/
498   GIMP_UNDO_GROUP_FS_FLOAT,              /*< desc="Float selection"                >*/
499   GIMP_UNDO_GROUP_FS_ANCHOR,             /*< desc="Anchor floating selection"      >*/
500   GIMP_UNDO_GROUP_EDIT_PASTE,            /*< desc="Paste"                          >*/
501   GIMP_UNDO_GROUP_EDIT_CUT,              /*< desc="Cut"                            >*/
502   GIMP_UNDO_GROUP_TEXT,                  /*< desc="Text"                           >*/
503   GIMP_UNDO_GROUP_TRANSFORM,             /*< desc="Transform"                      >*/
504   GIMP_UNDO_GROUP_PAINT,                 /*< desc="Paint"                          >*/
505   GIMP_UNDO_GROUP_PARASITE_ATTACH,       /*< desc="Attach parasite"                >*/
506   GIMP_UNDO_GROUP_PARASITE_REMOVE,       /*< desc="Remove parasite"                >*/
507   GIMP_UNDO_GROUP_VECTORS_IMPORT,        /*< desc="Import paths"                   >*/
508   GIMP_UNDO_GROUP_MISC,                  /*< desc="Plug-In"                        >*/
509 
510   GIMP_UNDO_GROUP_LAST = GIMP_UNDO_GROUP_MISC, /*< skip >*/
511 
512   /*  Undo types which actually do something  */
513 
514   GIMP_UNDO_IMAGE_TYPE,                  /*< desc="Image type"                     >*/
515   GIMP_UNDO_IMAGE_PRECISION,             /*< desc="Image precision"                >*/
516   GIMP_UNDO_IMAGE_SIZE,                  /*< desc="Image size"                     >*/
517   GIMP_UNDO_IMAGE_RESOLUTION,            /*< desc="Image resolution change"        >*/
518   GIMP_UNDO_IMAGE_GRID,                  /*< desc="Grid"                           >*/
519   GIMP_UNDO_IMAGE_METADATA,              /*< desc="Change metadata"                >*/
520   GIMP_UNDO_IMAGE_COLORMAP,              /*< desc="Change indexed palette"         >*/
521   GIMP_UNDO_IMAGE_COLOR_MANAGED,         /*< desc="Change color managed state"     >*/
522   GIMP_UNDO_GUIDE,                       /*< desc="Guide"                          >*/
523   GIMP_UNDO_SAMPLE_POINT,                /*< desc="Sample Point"                   >*/
524   GIMP_UNDO_DRAWABLE,                    /*< desc="Layer/Channel"                  >*/
525   GIMP_UNDO_DRAWABLE_MOD,                /*< desc="Layer/Channel modification"     >*/
526   GIMP_UNDO_MASK,                        /*< desc="Selection mask"                 >*/
527   GIMP_UNDO_ITEM_REORDER,                /*< desc="Reorder item"                   >*/
528   GIMP_UNDO_ITEM_RENAME,                 /*< desc="Rename item"                    >*/
529   GIMP_UNDO_ITEM_DISPLACE,               /*< desc="Move item"                      >*/
530   GIMP_UNDO_ITEM_VISIBILITY,             /*< desc="Item visibility"                >*/
531   GIMP_UNDO_ITEM_LINKED,                 /*< desc="Link/Unlink item"               >*/
532   GIMP_UNDO_ITEM_COLOR_TAG,              /*< desc="Item color tag"                 >*/
533   GIMP_UNDO_ITEM_LOCK_CONTENT,           /*< desc="Lock/Unlock content"            >*/
534   GIMP_UNDO_ITEM_LOCK_POSITION,          /*< desc="Lock/Unlock position"           >*/
535   GIMP_UNDO_LAYER_ADD,                   /*< desc="New layer"                      >*/
536   GIMP_UNDO_LAYER_REMOVE,                /*< desc="Delete layer"                   >*/
537   GIMP_UNDO_LAYER_MODE,                  /*< desc="Set layer mode"                 >*/
538   GIMP_UNDO_LAYER_OPACITY,               /*< desc="Set layer opacity"              >*/
539   GIMP_UNDO_LAYER_LOCK_ALPHA,            /*< desc="Lock/Unlock alpha channel"      >*/
540   GIMP_UNDO_GROUP_LAYER_SUSPEND_RESIZE,  /*< desc="Suspend group layer resize"     >*/
541   GIMP_UNDO_GROUP_LAYER_RESUME_RESIZE,   /*< desc="Resume group layer resize"      >*/
542   GIMP_UNDO_GROUP_LAYER_SUSPEND_MASK,    /*< desc="Suspend group layer mask"       >*/
543   GIMP_UNDO_GROUP_LAYER_RESUME_MASK,     /*< desc="Resume group layer mask"        >*/
544   GIMP_UNDO_GROUP_LAYER_START_TRANSFORM, /*< desc="Start transforming group layer" >*/
545   GIMP_UNDO_GROUP_LAYER_END_TRANSFORM,   /*< desc="End transforming group layer"   >*/
546   GIMP_UNDO_GROUP_LAYER_CONVERT,         /*< desc="Convert group layer"            >*/
547   GIMP_UNDO_TEXT_LAYER,                  /*< desc="Text layer"                     >*/
548   GIMP_UNDO_TEXT_LAYER_MODIFIED,         /*< desc="Text layer modification"        >*/
549   GIMP_UNDO_TEXT_LAYER_CONVERT,          /*< desc="Convert text layer"             >*/
550   GIMP_UNDO_LAYER_MASK_ADD,              /*< desc="Add layer mask"                 >*/
551   GIMP_UNDO_LAYER_MASK_REMOVE,           /*< desc="Delete layer mask"              >*/
552   GIMP_UNDO_LAYER_MASK_APPLY,            /*< desc="Apply layer mask"               >*/
553   GIMP_UNDO_LAYER_MASK_SHOW,             /*< desc="Show layer mask"                >*/
554   GIMP_UNDO_CHANNEL_ADD,                 /*< desc="New channel"                    >*/
555   GIMP_UNDO_CHANNEL_REMOVE,              /*< desc="Delete channel"                 >*/
556   GIMP_UNDO_CHANNEL_COLOR,               /*< desc="Channel color"                  >*/
557   GIMP_UNDO_VECTORS_ADD,                 /*< desc="New path"                       >*/
558   GIMP_UNDO_VECTORS_REMOVE,              /*< desc="Delete path"                    >*/
559   GIMP_UNDO_VECTORS_MOD,                 /*< desc="Path modification"              >*/
560   GIMP_UNDO_FS_TO_LAYER,                 /*< desc="Floating selection to layer"    >*/
561   GIMP_UNDO_TRANSFORM_GRID,              /*< desc="Transform grid"                 >*/
562   GIMP_UNDO_PAINT,                       /*< desc="Paint"                          >*/
563   GIMP_UNDO_INK,                         /*< desc="Ink"                            >*/
564   GIMP_UNDO_FOREGROUND_SELECT,           /*< desc="Select foreground"              >*/
565   GIMP_UNDO_PARASITE_ATTACH,             /*< desc="Attach parasite"                >*/
566   GIMP_UNDO_PARASITE_REMOVE,             /*< desc="Remove parasite"                >*/
567 
568   GIMP_UNDO_CANT                         /*< desc="Not undoable"                   >*/
569 } GimpUndoType;
570 
571 
572 #define GIMP_TYPE_VIEW_SIZE (gimp_view_size_get_type ())
573 
574 GType gimp_view_size_get_type (void) G_GNUC_CONST;
575 
576 typedef enum  /*< pdb-skip >*/
577 {
578   GIMP_VIEW_SIZE_TINY        = 12,   /*< desc="Tiny"        >*/
579   GIMP_VIEW_SIZE_EXTRA_SMALL = 16,   /*< desc="Very small"  >*/
580   GIMP_VIEW_SIZE_SMALL       = 24,   /*< desc="Small"       >*/
581   GIMP_VIEW_SIZE_MEDIUM      = 32,   /*< desc="Medium"      >*/
582   GIMP_VIEW_SIZE_LARGE       = 48,   /*< desc="Large"       >*/
583   GIMP_VIEW_SIZE_EXTRA_LARGE = 64,   /*< desc="Very large"  >*/
584   GIMP_VIEW_SIZE_HUGE        = 96,   /*< desc="Huge"        >*/
585   GIMP_VIEW_SIZE_ENORMOUS    = 128,  /*< desc="Enormous"    >*/
586   GIMP_VIEW_SIZE_GIGANTIC    = 192   /*< desc="Gigantic"    >*/
587 } GimpViewSize;
588 
589 
590 #define GIMP_TYPE_VIEW_TYPE (gimp_view_type_get_type ())
591 
592 GType gimp_view_type_get_type (void) G_GNUC_CONST;
593 
594 typedef enum  /*< pdb-skip >*/
595 {
596   GIMP_VIEW_TYPE_LIST,  /*< desc="View as list" >*/
597   GIMP_VIEW_TYPE_GRID   /*< desc="View as grid" >*/
598 } GimpViewType;
599 
600 
601 /*
602  * non-registered enums; register them if needed
603  */
604 
605 
606 typedef enum  /*< pdb-skip, skip >*/
607 {
608   GIMP_CONTEXT_PROP_FIRST       =  2,
609 
610   GIMP_CONTEXT_PROP_IMAGE       =  GIMP_CONTEXT_PROP_FIRST,
611   GIMP_CONTEXT_PROP_DISPLAY     =  3,
612   GIMP_CONTEXT_PROP_TOOL        =  4,
613   GIMP_CONTEXT_PROP_PAINT_INFO  =  5,
614   GIMP_CONTEXT_PROP_FOREGROUND  =  6,
615   GIMP_CONTEXT_PROP_BACKGROUND  =  7,
616   GIMP_CONTEXT_PROP_OPACITY     =  8,
617   GIMP_CONTEXT_PROP_PAINT_MODE  =  9,
618   GIMP_CONTEXT_PROP_BRUSH       = 10,
619   GIMP_CONTEXT_PROP_DYNAMICS    = 11,
620   GIMP_CONTEXT_PROP_MYBRUSH     = 12,
621   GIMP_CONTEXT_PROP_PATTERN     = 13,
622   GIMP_CONTEXT_PROP_GRADIENT    = 14,
623   GIMP_CONTEXT_PROP_PALETTE     = 15,
624   GIMP_CONTEXT_PROP_FONT        = 16,
625   GIMP_CONTEXT_PROP_TOOL_PRESET = 17,
626   GIMP_CONTEXT_PROP_BUFFER      = 18,
627   GIMP_CONTEXT_PROP_IMAGEFILE   = 19,
628   GIMP_CONTEXT_PROP_TEMPLATE    = 20,
629 
630   GIMP_CONTEXT_PROP_LAST        = GIMP_CONTEXT_PROP_TEMPLATE
631 } GimpContextPropType;
632 
633 
634 typedef enum  /*< pdb-skip, skip >*/
635 {
636   GIMP_CONTEXT_PROP_MASK_IMAGE       = 1 <<  2,
637   GIMP_CONTEXT_PROP_MASK_DISPLAY     = 1 <<  3,
638   GIMP_CONTEXT_PROP_MASK_TOOL        = 1 <<  4,
639   GIMP_CONTEXT_PROP_MASK_PAINT_INFO  = 1 <<  5,
640   GIMP_CONTEXT_PROP_MASK_FOREGROUND  = 1 <<  6,
641   GIMP_CONTEXT_PROP_MASK_BACKGROUND  = 1 <<  7,
642   GIMP_CONTEXT_PROP_MASK_OPACITY     = 1 <<  8,
643   GIMP_CONTEXT_PROP_MASK_PAINT_MODE  = 1 <<  9,
644   GIMP_CONTEXT_PROP_MASK_BRUSH       = 1 << 10,
645   GIMP_CONTEXT_PROP_MASK_DYNAMICS    = 1 << 11,
646   GIMP_CONTEXT_PROP_MASK_MYBRUSH     = 1 << 12,
647   GIMP_CONTEXT_PROP_MASK_PATTERN     = 1 << 13,
648   GIMP_CONTEXT_PROP_MASK_GRADIENT    = 1 << 14,
649   GIMP_CONTEXT_PROP_MASK_PALETTE     = 1 << 15,
650   GIMP_CONTEXT_PROP_MASK_FONT        = 1 << 16,
651   GIMP_CONTEXT_PROP_MASK_TOOL_PRESET = 1 << 17,
652   GIMP_CONTEXT_PROP_MASK_BUFFER      = 1 << 18,
653   GIMP_CONTEXT_PROP_MASK_IMAGEFILE   = 1 << 19,
654   GIMP_CONTEXT_PROP_MASK_TEMPLATE    = 1 << 20,
655 
656   /*  aliases  */
657   GIMP_CONTEXT_PROP_MASK_PAINT = (GIMP_CONTEXT_PROP_MASK_FOREGROUND |
658                                   GIMP_CONTEXT_PROP_MASK_BACKGROUND |
659                                   GIMP_CONTEXT_PROP_MASK_OPACITY    |
660                                   GIMP_CONTEXT_PROP_MASK_PAINT_MODE |
661                                   GIMP_CONTEXT_PROP_MASK_BRUSH      |
662                                   GIMP_CONTEXT_PROP_MASK_DYNAMICS   |
663                                   GIMP_CONTEXT_PROP_MASK_PATTERN    |
664                                   GIMP_CONTEXT_PROP_MASK_GRADIENT),
665 
666   GIMP_CONTEXT_PROP_MASK_ALL   = (GIMP_CONTEXT_PROP_MASK_IMAGE       |
667                                   GIMP_CONTEXT_PROP_MASK_DISPLAY     |
668                                   GIMP_CONTEXT_PROP_MASK_TOOL        |
669                                   GIMP_CONTEXT_PROP_MASK_PAINT_INFO  |
670                                   GIMP_CONTEXT_PROP_MASK_MYBRUSH     |
671                                   GIMP_CONTEXT_PROP_MASK_PALETTE     |
672                                   GIMP_CONTEXT_PROP_MASK_FONT        |
673                                   GIMP_CONTEXT_PROP_MASK_TOOL_PRESET |
674                                   GIMP_CONTEXT_PROP_MASK_BUFFER      |
675                                   GIMP_CONTEXT_PROP_MASK_IMAGEFILE   |
676                                   GIMP_CONTEXT_PROP_MASK_TEMPLATE    |
677                                   GIMP_CONTEXT_PROP_MASK_PAINT)
678 } GimpContextPropMask;
679 
680 
681 typedef enum  /*< pdb-skip, skip >*/
682 {
683   GIMP_IMAGE_SCALE_OK,
684   GIMP_IMAGE_SCALE_TOO_SMALL,
685   GIMP_IMAGE_SCALE_TOO_BIG
686 } GimpImageScaleCheckType;
687 
688 
689 typedef enum  /*< pdb-skip, skip >*/
690 {
691   GIMP_ITEM_TYPE_LAYERS   = 1 << 0,
692   GIMP_ITEM_TYPE_CHANNELS = 1 << 1,
693   GIMP_ITEM_TYPE_VECTORS  = 1 << 2,
694 
695   GIMP_ITEM_TYPE_ALL      = (GIMP_ITEM_TYPE_LAYERS   |
696                              GIMP_ITEM_TYPE_CHANNELS |
697                              GIMP_ITEM_TYPE_VECTORS)
698 } GimpItemTypeMask;
699 
700 
701 #endif /* __CORE_ENUMS_H__ */
702