1 // SPDX-License-Identifier: GPL-2.0-or-later
2 #ifndef __SP_ENUMS_H__
3 #define __SP_ENUMS_H__
4 
5 /*
6  * Main program enumerated types
7  *
8  * Authors:
9  *   Lauris Kaplinski <lauris@kaplinski.com>
10  *
11  * Copyright (C) 1999-2003 Lauris Kaplinski
12  *
13  * Released under GNU GPL v2+, read the file 'COPYING' for more information.
14  */
15 
16 /* Anchor types (imported from Gtk) */
17 enum SPAnchorType
18 {
19   // CLOCKWISE Don't change order without changing canvas-item-ctrl.cpp (CanvasItemCtrl::update()).
20   SP_ANCHOR_EAST,
21   SP_ANCHOR_SOUTH_EAST,
22   SP_ANCHOR_SOUTH,
23   SP_ANCHOR_SOUTH_WEST,
24   SP_ANCHOR_WEST,
25   SP_ANCHOR_NORTH_WEST,
26   SP_ANCHOR_NORTH,
27   SP_ANCHOR_NORTH_EAST,
28   SP_ANCHOR_CENTER,
29   SP_ANCHOR_E		= SP_ANCHOR_EAST,
30   SP_ANCHOR_SE		= SP_ANCHOR_SOUTH_EAST,
31   SP_ANCHOR_S		= SP_ANCHOR_SOUTH,
32   SP_ANCHOR_SW		= SP_ANCHOR_SOUTH_WEST,
33   SP_ANCHOR_W		= SP_ANCHOR_WEST,
34   SP_ANCHOR_NW		= SP_ANCHOR_NORTH_WEST,
35   SP_ANCHOR_N		= SP_ANCHOR_NORTH,
36   SP_ANCHOR_NE		= SP_ANCHOR_NORTH_EAST,
37 };
38 
39 /* preserveAspectRatio */
40 
41 enum {
42 	SP_ASPECT_NONE,
43 	SP_ASPECT_XMIN_YMIN,
44 	SP_ASPECT_XMID_YMIN,
45 	SP_ASPECT_XMAX_YMIN,
46 	SP_ASPECT_XMIN_YMID,
47 	SP_ASPECT_XMID_YMID,
48 	SP_ASPECT_XMAX_YMID,
49 	SP_ASPECT_XMIN_YMAX,
50 	SP_ASPECT_XMID_YMAX,
51 	SP_ASPECT_XMAX_YMAX
52 };
53 
54 enum {
55 	SP_ASPECT_MEET,
56 	SP_ASPECT_SLICE
57 };
58 
59 /* maskUnits */
60 /* maskContentUnits */
61 
62 enum {
63 	SP_CONTENT_UNITS_USERSPACEONUSE,
64 	SP_CONTENT_UNITS_OBJECTBOUNDINGBOX
65 };
66 
67 /* markerUnits */
68 
69 enum {
70 	SP_MARKER_UNITS_STROKEWIDTH,
71 	SP_MARKER_UNITS_USERSPACEONUSE
72 };
73 
74 /* stroke-linejoin */
75 /* stroke-linecap */
76 
77 /* markers */
78 
79 enum {
80   SP_MARKER_NONE,
81   SP_MARKER_TRIANGLE,
82   SP_MARKER_ARROW
83 };
84 
85 /* fill-rule */
86 /* clip-rule */
87 
88 enum {
89 	SP_CLONE_COMPENSATION_PARALLEL,
90 	SP_CLONE_COMPENSATION_UNMOVED,
91 	SP_CLONE_COMPENSATION_NONE
92 };
93 
94 enum {
95 	SP_CLONE_ORPHANS_UNLINK,
96 	SP_CLONE_ORPHANS_DELETE,
97 	SP_CLONE_ORPHANS_ASKME
98 };
99 
100 /* "inlayer" preference values */
101 
102 enum PrefsSelectionContext {
103     PREFS_SELECTION_ALL = 0,
104     PREFS_SELECTION_LAYER = 1,
105     PREFS_SELECTION_LAYER_RECURSIVE = 2,
106 };
107 
108 /* clip/mask group enclosing behavior preference values */
109 
110 enum PrefsMaskobjectGrouping {
111     PREFS_MASKOBJECT_GROUPING_NONE = 0,
112     PREFS_MASKOBJECT_GROUPING_SEPARATE = 1,
113     PREFS_MASKOBJECT_GROUPING_ALL = 2,
114 };
115 
116 /* save window geometry preference values (/options/savewindowgeometry/value) */
117 
118 enum PrefsSaveWindowGeometry {
119     PREFS_WINDOW_GEOMETRY_NONE = 0,
120     PREFS_WINDOW_GEOMETRY_FILE = 1,
121     PREFS_WINDOW_GEOMETRY_LAST = 2,
122 };
123 
124 /* save container dialogs state preference values (/options/savedialogposition/value) */
125 
126 enum PrefsSaveDialogsState {
127     PREFS_DIALOGS_STATE_NONE = 0,
128     PREFS_DIALOGS_STATE_SAVE = 1,
129 };
130 
131 /* save dialogs docking behavior preference values (/options/dialogtype/value) */
132 
133 enum PrefsDialogsBehavior {
134     PREFS_DIALOGS_BEHAVIOR_FLOATING = 0,
135     PREFS_DIALOGS_BEHAVIOR_DOCKABLE = 1,
136 };
137 
138 /* save dialog windows type preference values (/options/transientpolicy/value) */
139 
140 enum PrefsDialogsWindowsType {
141     PREFS_DIALOGS_WINDOWS_NONE = 0,
142     PREFS_DIALOGS_WINDOWS_NORMAL = 1,
143     PREFS_DIALOGS_WINDOWS_AGGRESSIVE = 2,
144 };
145 
146 /* save notebook labels behavior preference value (/options/notebooklabels/value) */
147 
148 enum PrefsDialogNotebookLabelsBehavior {
149     PREFS_NOTEBOOK_LABELS_AUTO = 0,
150     PREFS_NOTBOOK_LABELS_OFF = 1,
151 };
152 
153 /* default window size preference values (/options/defaultwindowsize/value) */
154 
155 enum PrefsDefaultWindowSize {
156     PREFS_WINDOW_SIZE_NATURAL = -1,
157     PREFS_WINDOW_SIZE_SMALL = 0,
158     PREFS_WINDOW_SIZE_LARGE = 1,
159     PREFS_WINDOW_SIZE_MAXIMIZED = 2,
160 };
161 
162 #endif
163 
164