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 __TOOLS_ENUMS_H__
19 #define __TOOLS_ENUMS_H__
20 
21 
22 /*
23  * these enums are registered with the type system
24  */
25 
26 /**
27  * GimpBucketFillArea:
28  * @GIMP_BUCKET_FILL_SELECTION:      Fill whole selection
29  * @GIMP_BUCKET_FILL_SIMILAR_COLORS: Fill similar colors
30  * @GIMP_BUCKET_FILL_LINE_ART:       Fill by line art detection
31  *
32  * Bucket fill area.
33  */
34 #define GIMP_TYPE_BUCKET_FILL_AREA (gimp_bucket_fill_area_get_type ())
35 
36 GType gimp_bucket_fill_area_get_type (void) G_GNUC_CONST;
37 
38 typedef enum
39 {
40   GIMP_BUCKET_FILL_SELECTION,       /*< desc="Fill whole selection" >*/
41   GIMP_BUCKET_FILL_SIMILAR_COLORS,  /*< desc="Fill similar colors" >*/
42   GIMP_BUCKET_FILL_LINE_ART         /*< desc="Fill by line art detection" >*/
43 } GimpBucketFillArea;
44 
45 
46 /**
47  * GimpLineArtSource:
48  * @GIMP_LINE_ART_SOURCE_SAMPLE_MERGED: All visible layers
49  * @GIMP_LINE_ART_SOURCE_ACTIVE_LAYER:  Active layer
50  * @GIMP_LINE_ART_SOURCE_LOWER_LAYER:   Layer below the active one
51  * @GIMP_LINE_ART_SOURCE_UPPER_LAYER:   Layer above the active one
52  *
53  * Bucket fill area.
54  */
55 #define GIMP_TYPE_LINE_ART_SOURCE (gimp_line_art_source_get_type ())
56 
57 GType gimp_line_art_source_get_type (void) G_GNUC_CONST;
58 
59 typedef enum
60 {
61   GIMP_LINE_ART_SOURCE_SAMPLE_MERGED, /*< desc="All visible layers" >*/
62   GIMP_LINE_ART_SOURCE_ACTIVE_LAYER,  /*< desc="Active layer" >*/
63   GIMP_LINE_ART_SOURCE_LOWER_LAYER,   /*< desc="Layer below the active one" >*/
64   GIMP_LINE_ART_SOURCE_UPPER_LAYER    /*< desc="Layer above the active one" >*/
65 } GimpLineArtSource;
66 
67 
68 #define GIMP_TYPE_RECT_SELECT_MODE (gimp_rect_select_mode_get_type ())
69 
70 GType gimp_rect_select_mode_get_type (void) G_GNUC_CONST;
71 
72 typedef enum
73 {
74   GIMP_RECT_SELECT_MODE_FREE,        /*< desc="Free select"        >*/
75   GIMP_RECT_SELECT_MODE_FIXED_SIZE,  /*< desc="Fixed size"         >*/
76   GIMP_RECT_SELECT_MODE_FIXED_RATIO  /*< desc="Fixed aspect ratio" >*/
77 } GimpRectSelectMode;
78 
79 
80 #define GIMP_TYPE_TRANSFORM_TYPE (gimp_transform_type_get_type ())
81 
82 GType gimp_transform_type_get_type (void) G_GNUC_CONST;
83 
84 typedef enum
85 {
86   GIMP_TRANSFORM_TYPE_LAYER,     /*< desc="Layer"     >*/
87   GIMP_TRANSFORM_TYPE_SELECTION, /*< desc="Selection" >*/
88   GIMP_TRANSFORM_TYPE_PATH,      /*< desc="Path"      >*/
89   GIMP_TRANSFORM_TYPE_IMAGE      /*< desc="Image"     >*/
90 } GimpTransformType;
91 
92 
93 #define GIMP_TYPE_TOOL_ACTION (gimp_tool_action_get_type ())
94 
95 GType gimp_tool_action_get_type (void) G_GNUC_CONST;
96 
97 typedef enum
98 {
99   GIMP_TOOL_ACTION_PAUSE,
100   GIMP_TOOL_ACTION_RESUME,
101   GIMP_TOOL_ACTION_HALT,
102   GIMP_TOOL_ACTION_COMMIT
103 } GimpToolAction;
104 
105 
106 #define GIMP_TYPE_TOOL_ACTIVE_MODIFIERS (gimp_tool_active_modifiers_get_type ())
107 
108 GType gimp_tool_active_modifiers_get_type (void) G_GNUC_CONST;
109 
110 typedef enum
111 {
112   GIMP_TOOL_ACTIVE_MODIFIERS_OFF,
113   GIMP_TOOL_ACTIVE_MODIFIERS_SAME,
114   GIMP_TOOL_ACTIVE_MODIFIERS_SEPARATE,
115 } GimpToolActiveModifiers;
116 
117 
118 #define GIMP_TYPE_MATTING_DRAW_MODE (gimp_matting_draw_mode_get_type ())
119 
120 GType gimp_matting_draw_mode_get_type (void) G_GNUC_CONST;
121 
122 typedef enum
123 {
124  GIMP_MATTING_DRAW_MODE_FOREGROUND,   /*< desc="Draw foreground" >*/
125  GIMP_MATTING_DRAW_MODE_BACKGROUND,   /*< desc="Draw background" >*/
126  GIMP_MATTING_DRAW_MODE_UNKNOWN,      /*< desc="Draw unknown" >*/
127 } GimpMattingDrawMode;
128 
129 
130 #define GIMP_TYPE_MATTING_PREVIEW_MODE (gimp_matting_preview_mode_get_type ())
131 
132 GType gimp_matting_preview_mode_get_type (void) G_GNUC_CONST;
133 
134 typedef enum
135 {
136  GIMP_MATTING_PREVIEW_MODE_ON_COLOR,        /*< desc="Color" >*/
137  GIMP_MATTING_PREVIEW_MODE_GRAYSCALE,       /*< desc="Grayscale" >*/
138 } GimpMattingPreviewMode;
139 
140 
141 #define GIMP_TYPE_TRANSFORM_3D_LENS_MODE (gimp_transform_3d_lens_mode_get_type ())
142 
143 GType gimp_transform_3d_lens_mode_get_type (void) G_GNUC_CONST;
144 
145 typedef enum /*< lowercase_name=gimp_transform_3d_lens_mode >*/
146 {
147   GIMP_TRANSFORM_3D_LENS_MODE_FOCAL_LENGTH, /*< desc="Focal length" >*/
148   GIMP_TRANSFORM_3D_LENS_MODE_FOV_IMAGE,    /*< desc="Field of view (relative to image)", abbrev="FOV (image)" >*/
149   GIMP_TRANSFORM_3D_LENS_MODE_FOV_ITEM,     /*< desc="Field of view (relative to item)", abbrev="FOV (item)" >*/
150 } Gimp3DTrasnformLensMode;
151 
152 
153 #define GIMP_TYPE_WARP_BEHAVIOR (gimp_warp_behavior_get_type ())
154 
155 GType gimp_warp_behavior_get_type (void) G_GNUC_CONST;
156 
157 typedef enum
158 {
159   GIMP_WARP_BEHAVIOR_MOVE,      /*< desc="Move pixels" >*/
160   GIMP_WARP_BEHAVIOR_GROW,      /*< desc="Grow area" >*/
161   GIMP_WARP_BEHAVIOR_SHRINK,    /*< desc="Shrink area" >*/
162   GIMP_WARP_BEHAVIOR_SWIRL_CW,  /*< desc="Swirl clockwise" >*/
163   GIMP_WARP_BEHAVIOR_SWIRL_CCW, /*< desc="Swirl counter-clockwise" >*/
164   GIMP_WARP_BEHAVIOR_ERASE,     /*< desc="Erase warping" >*/
165   GIMP_WARP_BEHAVIOR_SMOOTH     /*< desc="Smooth warping" >*/
166 } GimpWarpBehavior;
167 
168 
169 /*
170  * non-registered enums; register them if needed
171  */
172 
173 typedef enum /*< skip >*/
174 {
175   SELECTION_SELECT,
176   SELECTION_MOVE_MASK,
177   SELECTION_MOVE,
178   SELECTION_MOVE_COPY,
179   SELECTION_ANCHOR
180 } SelectFunction;
181 
182 /*  Modes of GimpEditSelectionTool  */
183 typedef enum /*< skip >*/
184 {
185   GIMP_TRANSLATE_MODE_VECTORS,
186   GIMP_TRANSLATE_MODE_CHANNEL,
187   GIMP_TRANSLATE_MODE_LAYER_MASK,
188   GIMP_TRANSLATE_MODE_MASK,
189   GIMP_TRANSLATE_MODE_MASK_TO_LAYER,
190   GIMP_TRANSLATE_MODE_MASK_COPY_TO_LAYER,
191   GIMP_TRANSLATE_MODE_LAYER,
192   GIMP_TRANSLATE_MODE_FLOATING_SEL
193 } GimpTranslateMode;
194 
195 /*  Motion event report modes  */
196 typedef enum /*< skip >*/
197 {
198   GIMP_MOTION_MODE_EXACT,
199   GIMP_MOTION_MODE_COMPRESS
200 } GimpMotionMode;
201 
202 
203 #endif /* __TOOLS_ENUMS_H__ */
204