1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
2 /*
3  * Copyright (C) 2000 Helix Code, Inc.
4  * Copyright (C) 2001 Ximian, Inc.
5  *
6  * The Gnome Library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public License as
8  * published by the Free Software Foundation; either version 2 of the
9  * License, or (at your option) any later version.
10  *
11  * The Gnome Library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with the Gnome Library; see the file COPYING.LIB.  If not,
18  * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  *
21  * Author: Radek Doulik <rodo@ximian.com>
22  *
23 */
24 
25 #ifndef _HTML_ENUMS_H
26 #define _HTML_ENUMS_H
27 
28 #define MAX_WIDGET_WIDTH 32000
29 
30 typedef enum {
31 	BUTTON_NORMAL,
32 	BUTTON_SUBMIT,
33 	BUTTON_RESET
34 } HTMLButtonType;
35 
36 typedef enum {
37 	HTML_CHANGE_NONE = 0,
38 	HTML_CHANGE_MIN_WIDTH = 1 << 0,
39 	HTML_CHANGE_PREF_WIDTH = 1 << 1,
40 	HTML_CHANGE_SIZE = 1 << 2,
41 	HTML_CHANGE_RECALC_PI = 1 << 3,
42 	HTML_CHANGE_ALL_CALC = ((HTML_CHANGE_SIZE << 1) - 1),
43 	HTML_CHANGE_ALL = ((HTML_CHANGE_RECALC_PI << 1) - 1)
44 } HTMLChangeFlags;
45 
46 typedef enum {
47 	HTML_CLEAR_NONE,
48 	HTML_CLEAR_LEFT,
49 	HTML_CLEAR_RIGHT,
50 	HTML_CLEAR_ALL,
51 	HTML_CLEAR_INHERIT
52 } HTMLClearType;
53 
54 /* Paragraph style.  Notice that the `H*' elements must be consecutive.  */
55 typedef enum {
56 	HTML_CLUEFLOW_STYLE_NORMAL,
57 	HTML_CLUEFLOW_STYLE_H1,
58 	HTML_CLUEFLOW_STYLE_H2,
59 	HTML_CLUEFLOW_STYLE_H3,
60 	HTML_CLUEFLOW_STYLE_H4,
61 	HTML_CLUEFLOW_STYLE_H5,
62 	HTML_CLUEFLOW_STYLE_H6,
63 	HTML_CLUEFLOW_STYLE_ADDRESS,
64 	HTML_CLUEFLOW_STYLE_PRE,
65 	HTML_CLUEFLOW_STYLE_LIST_ITEM,
66 	HTML_CLUEFLOW_NUMSTYLES
67 } HTMLClueFlowStyle;
68 
69 typedef enum {
70 	HTMLBgColor = 0,
71 	HTMLTextColor,
72 	HTMLLinkColor,
73 	HTMLVLinkColor,
74 	HTMLALinkColor,
75 	HTMLHighlightColor,
76 	HTMLHighlightTextColor,
77 	HTMLHighlightNFColor,
78 	HTMLHighlightTextNFColor,
79 	HTMLSpellErrorColor,
80 	HTMLCiteColor,
81 
82 	HTMLColors
83 } HTMLColorId;
84 
85 typedef enum {
86 	HTML_DIRECTION_DERIVED,
87 	HTML_DIRECTION_LTR,
88 	HTML_DIRECTION_RTL
89 } HTMLDirection;
90 
91 typedef enum {
92 	HTML_ENGINE_CURSOR_UP,
93 	HTML_ENGINE_CURSOR_DOWN,
94 	HTML_ENGINE_CURSOR_RIGHT,
95 	HTML_ENGINE_CURSOR_LEFT,
96 	HTML_ENGINE_CURSOR_HOME,
97 	HTML_ENGINE_CURSOR_END,
98 	HTML_ENGINE_CURSOR_PGUP,
99 	HTML_ENGINE_CURSOR_PGDOWN
100 } HTMLEngineCursorMovement;
101 
102 typedef enum {
103 	HTML_ENGINE_SET_CLUEFLOW_NONE = 0,
104 	HTML_ENGINE_SET_CLUEFLOW_STYLE = 1 << 0,
105 	HTML_ENGINE_SET_CLUEFLOW_ALIGNMENT = 1 << 1,
106 	HTML_ENGINE_SET_CLUEFLOW_INDENTATION = 1 << 2,
107 	HTML_ENGINE_SET_CLUEFLOW_INDENTATION_DELTA = 1 << 3,
108 	HTML_ENGINE_SET_CLUEFLOW_INDENTATION_ALL = 5
109 } HTMLEngineSetClueFlowStyleMask;
110 
111 typedef enum {
112 	HTML_FIT_NONE,
113 	HTML_FIT_PARTIAL,
114 	HTML_FIT_COMPLETE
115 } HTMLFitType;
116 
117 typedef enum {
118 	HTML_GLOSSARY_DL = 1,
119 	HTML_GLOSSARY_DD = 2
120 } HTMLGlossaryEntry;
121 
122 typedef enum {
123 	HTML_HALIGN_LEFT,
124 	HTML_HALIGN_CENTER,
125 	HTML_HALIGN_RIGHT,
126 	HTML_HALIGN_NONE
127 } HTMLHAlignType;
128 
129 typedef enum {
130 	HTML_LIST_TYPE_UNORDERED,
131 	HTML_LIST_TYPE_ORDERED_ARABIC,
132 	HTML_LIST_TYPE_ORDERED_LOWER_ALPHA,
133 	HTML_LIST_TYPE_ORDERED_UPPER_ALPHA,
134 	HTML_LIST_TYPE_ORDERED_LOWER_ROMAN,
135 	HTML_LIST_TYPE_ORDERED_UPPER_ROMAN,
136 	HTML_LIST_TYPE_MENU,
137 	HTML_LIST_TYPE_DIR,
138 	HTML_LIST_TYPE_BLOCKQUOTE,
139 	HTML_LIST_TYPE_BLOCKQUOTE_CITE,
140 	HTML_LIST_TYPE_GLOSSARY_DL,
141 	HTML_LIST_TYPE_GLOSSARY_DD,
142 	HTML_LIST_TYPE_CIRCLE,
143 	HTML_LIST_TYPE_DISC,
144 	HTML_LIST_TYPE_SQUARE
145 } HTMLListType;
146 
147 typedef enum {
148 	HTML_OBJECT_FLAG_NONE = 0,
149 	HTML_OBJECT_FLAG_SEPARATOR = 1 << 0,
150 	HTML_OBJECT_FLAG_SELECTED = 1 << 2,
151 	HTML_OBJECT_FLAG_ALLSELECTED = 1 << 3,
152 	HTML_OBJECT_FLAG_FIXEDWIDTH = 1 << 4,
153 	HTML_OBJECT_FLAG_ALIGNED = 1 << 5,
154 	HTML_OBJECT_FLAG_PRINTED = 1 << 6,
155 	HTML_OBJECT_FLAG_HIDDEN = 1 << 7
156 } HTMLObjectFlags;
157 
158 typedef enum {
159 	RQA_Replace,
160 	RQA_ReplaceAll,
161 	RQA_Next,
162 	RQA_Cancel
163 } HTMLReplaceQueryAnswer;
164 
165 /* This is a list of the HTML object classes we are using.  We use a static
166  * system because (a) it's faster and (b) we don't need/want an extensible
167  * object system.
168  *
169  * If you add new HTML classes, you should (a) update this list and (b) update
170  * the `html_types_init ()' function in `htmltype.c'.  */
171 
172 typedef enum {
173 	HTML_TYPE_NONE,
174 	HTML_TYPE_ANCHOR,
175 	HTML_TYPE_BULLET,
176 	HTML_TYPE_BUTTON,
177 	HTML_TYPE_CHECKBOX,
178 	HTML_TYPE_CLUE,
179 	HTML_TYPE_CLUEALIGNED,
180 	HTML_TYPE_CLUEFLOW,
181 	HTML_TYPE_CLUEH,
182 	HTML_TYPE_CLUEV,
183 	HTML_TYPE_EMBEDDED,
184 	HTML_TYPE_HIDDEN,
185 	HTML_TYPE_HSPACE,
186 	HTML_TYPE_IMAGE,
187 	HTML_TYPE_IMAGEINPUT,
188 	HTML_TYPE_LINKTEXT,
189 	HTML_TYPE_OBJECT,
190 	HTML_TYPE_RADIO,
191 	HTML_TYPE_RULE,
192 	HTML_TYPE_SELECT,
193 	HTML_TYPE_TABLE,
194 	HTML_TYPE_TABLECELL,
195 	HTML_TYPE_TEXT,
196 	HTML_TYPE_TEXTAREA,
197 	HTML_TYPE_TEXTINPUT,
198 	HTML_TYPE_TEXTSLAVE,
199 	HTML_TYPE_IFRAME,
200 	HTML_TYPE_FRAME,
201 	HTML_TYPE_FRAMESET,
202 	HTML_NUM_TYPES
203 } HTMLType;
204 
205 typedef enum {
206 	HTML_UNDO_UNDO = 0,
207 	HTML_UNDO_REDO = 1,
208 	HTML_UNDO_END  = 2
209 } HTMLUndoDirection;
210 
211 typedef enum {
212 	HTML_URL_DUP_ALL = 0,
213 	HTML_URL_DUP_NOPROTOCOL = 1 << 0,
214 	HTML_URL_DUP_NOUSERNAME = 1 << 1,
215 	HTML_URL_DUP_NOPASSWORD = 1 << 2,
216 	HTML_URL_DUP_NOHOSTNAME = 1 << 3,
217 	HTML_URL_DUP_NOPORT = 1 << 4,
218 	HTML_URL_DUP_NOPATH = 1 << 5,
219 	HTML_URL_DUP_NOREFERENCE = 1 << 6,
220 	HTML_URL_DUP_NOCGIARGS = 1 << 7
221 } HTMLURLDupFlags;
222 
223 typedef enum {
224 	HTML_VALIGN_TOP,
225 	HTML_VALIGN_MIDDLE,
226 	HTML_VALIGN_BOTTOM,
227 	HTML_VALIGN_NONE
228 } HTMLVAlignType;
229 
230 typedef enum {
231 	DISPLAY_NONE,
232 	DISPLAY_INLINE,
233 	DISPLAY_LIST_ITEM,
234 	DISPLAY_INLINE_BLOCK,
235 	DISPLAY_BLOCK,
236 	DISPLAY_MARKER,
237 	DISPLAY_RUN_IN,
238 	DISPLAY_COMPACT,
239 	DISPLAY_TABLE_ROW_GROUP,
240 	DISPLAY_TABLE_COLUMN,
241 	DISPLAY_TABLE_COLUMN_GROUP,
242 	DISPLAY_TABLE_HEADER_GROUP,
243 	DISPLAY_TABLE_FOOTER_GROUP,
244 	DISPLAY_TABLE_ROW,
245 	DISPLAY_TABLE_CELL,
246         DISPLAY_TABLE_CAPTION,
247 	DISPLAY_INLINE_TABLE,
248 	DISPLAY_TABLE,
249 	DISPLAY_DOCUMENT
250 } HTMLDisplayType;
251 
252 typedef enum {
253 	HTML_WHITE_SPACE_NORMAL,
254 	HTML_WHITE_SPACE_PRE,
255 	HTML_WHITE_SPACE_NOWRAP,
256 	HTML_WHITE_SPACE_PRE_WRAP,
257 	HTML_WHITE_SPACE_PRE_LINE,
258 	HTML_WHITE_SPACE_INHERIT
259 } HTMLWhiteSpaceType;
260 
261 typedef enum {
262 	HTML_LENGTH_TYPE_PIXELS,
263 	HTML_LENGTH_TYPE_PERCENT,
264 	HTML_LENGTH_TYPE_FRACTION
265 } HTMLLengthType;
266 
267 typedef enum {
268 	HTML_BORDER_NONE,
269 	HTML_BORDER_SOLID,
270 	HTML_BORDER_INSET,
271 	HTML_BORDER_OUTSET
272 } HTMLBorderStyle;
273 
274 typedef enum {
275 	HTML_TEXT_SLAVE_GLYPH_ITEM_CREATED,
276 	HTML_TEXT_SLAVE_GLYPH_ITEM_PARENTAL
277 } HTMLTextSlaveGlyphItemType;
278 
279 #endif
280