1 /*
2  * Copyright (C) 1995 Spencer Kimball and Peter Mattis
3  *
4  * This is a plug-in for GIMP.
5  *
6  * Generates images containing vector type drawings.
7  *
8  * Copyright (C) 1997 Andy Thomas  alt@picnic.demon.co.uk
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
22  *
23  */
24 
25 #ifndef __GFIG_TYPES_H__
26 #define __GFIG_TYPES_H__
27 
28 typedef enum
29 {
30   RECT_GRID = 0,
31   POLAR_GRID,
32   ISO_GRID
33 } GridType;
34 
35 typedef enum
36 {
37   ADD = 0,
38   SUBTRACT,
39   REPLACE,
40   INTERSECT
41 } SelectionType;
42 
43 typedef enum
44 {
45   ARC_SEGMENT = 0,
46   ARC_SECTOR
47 } ArcType;
48 
49 typedef enum
50 {
51   FILL_NONE = 0,
52   FILL_COLOR,
53   FILL_PATTERN,
54   FILL_GRADIENT,
55   FILL_VERTICAL,
56   FILL_HORIZONTAL
57 } FillType;
58 
59 typedef enum
60 {
61   ORIGINAL_LAYER = 0,
62   SINGLE_LAYER,
63   MULTI_LAYER
64 } DrawonLayers;
65 
66 typedef enum
67 {
68   LAYER_TRANS_BG = 0,
69   LAYER_BG_BG,
70   LAYER_FG_BG,
71   LAYER_WHITE_BG,
72   LAYER_COPY_BG
73 } LayersBGType;
74 
75 typedef enum
76 {
77   PAINT_NONE = 0,
78   PAINT_BRUSH_TYPE = 1
79 } PaintType;
80 
81 typedef enum
82 {
83   BRUSH_BRUSH_TYPE = 0,
84   BRUSH_PENCIL_TYPE,
85   BRUSH_AIRBRUSH_TYPE,
86   BRUSH_PATTERN_TYPE
87 } BrushType;
88 
89 typedef enum
90 {
91   OBJ_TYPE_NONE = 0,
92   LINE,
93   RECTANGLE,
94   CIRCLE,
95   ELLIPSE,
96   ARC,
97   POLY,
98   STAR,
99   SPIRAL,
100   BEZIER,
101   NUM_OBJ_TYPES,
102   MOVE_OBJ,
103   MOVE_POINT,
104   COPY_OBJ,
105   MOVE_COPY_OBJ,
106   DEL_OBJ,
107   SELECT_OBJ,
108   NULL_OPER
109 } DobjType;
110 
111 typedef struct _GFigObj    GFigObj;
112 typedef struct _GfigObject GfigObject;
113 typedef struct _Style      Style;
114 
115 #endif /* __GFIG_TYPES_H__ */
116