1 /*
2  * This file is part of LibCSS
3  * Licensed under the MIT License,
4  *                http://www.opensource.org/licenses/mit-license.php
5  * Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org>
6  */
7 
8 #ifndef libcss_properties_h_
9 #define libcss_properties_h_
10 
11 #ifdef __cplusplus
12 extern "C"
13 {
14 #endif
15 
16 enum css_properties_e {
17 	CSS_PROP_AZIMUTH			= 0x000,
18 	CSS_PROP_BACKGROUND_ATTACHMENT		= 0x001,
19 	CSS_PROP_BACKGROUND_COLOR		= 0x002,
20 	CSS_PROP_BACKGROUND_IMAGE		= 0x003,
21 	CSS_PROP_BACKGROUND_POSITION		= 0x004,
22 	CSS_PROP_BACKGROUND_REPEAT		= 0x005,
23 	CSS_PROP_BORDER_COLLAPSE		= 0x006,
24 	CSS_PROP_BORDER_SPACING			= 0x007,
25 	CSS_PROP_BORDER_TOP_COLOR		= 0x008,
26 	CSS_PROP_BORDER_RIGHT_COLOR		= 0x009,
27 	CSS_PROP_BORDER_BOTTOM_COLOR		= 0x00a,
28 	CSS_PROP_BORDER_LEFT_COLOR		= 0x00b,
29 	CSS_PROP_BORDER_TOP_STYLE		= 0x00c,
30 	CSS_PROP_BORDER_RIGHT_STYLE		= 0x00d,
31 	CSS_PROP_BORDER_BOTTOM_STYLE		= 0x00e,
32 	CSS_PROP_BORDER_LEFT_STYLE		= 0x00f,
33 	CSS_PROP_BORDER_TOP_WIDTH		= 0x010,
34 	CSS_PROP_BORDER_RIGHT_WIDTH		= 0x011,
35 	CSS_PROP_BORDER_BOTTOM_WIDTH		= 0x012,
36 	CSS_PROP_BORDER_LEFT_WIDTH		= 0x013,
37 	CSS_PROP_BOTTOM				= 0x014,
38 	CSS_PROP_CAPTION_SIDE			= 0x015,
39 	CSS_PROP_CLEAR				= 0x016,
40 	CSS_PROP_CLIP				= 0x017,
41 	CSS_PROP_COLOR				= 0x018,
42 	CSS_PROP_CONTENT			= 0x019,
43 	CSS_PROP_COUNTER_INCREMENT		= 0x01a,
44 	CSS_PROP_COUNTER_RESET			= 0x01b,
45 	CSS_PROP_CUE_AFTER			= 0x01c,
46 	CSS_PROP_CUE_BEFORE			= 0x01d,
47 	CSS_PROP_CURSOR				= 0x01e,
48 	CSS_PROP_DIRECTION			= 0x01f,
49 	CSS_PROP_DISPLAY			= 0x020,
50 	CSS_PROP_ELEVATION			= 0x021,
51 	CSS_PROP_EMPTY_CELLS			= 0x022,
52 	CSS_PROP_FLOAT				= 0x023,
53 	CSS_PROP_FONT_FAMILY			= 0x024,
54 	CSS_PROP_FONT_SIZE			= 0x025,
55 	CSS_PROP_FONT_STYLE			= 0x026,
56 	CSS_PROP_FONT_VARIANT			= 0x027,
57 	CSS_PROP_FONT_WEIGHT			= 0x028,
58 	CSS_PROP_HEIGHT				= 0x029,
59 	CSS_PROP_LEFT				= 0x02a,
60 	CSS_PROP_LETTER_SPACING			= 0x02b,
61 	CSS_PROP_LINE_HEIGHT			= 0x02c,
62 	CSS_PROP_LIST_STYLE_IMAGE		= 0x02d,
63 	CSS_PROP_LIST_STYLE_POSITION		= 0x02e,
64 	CSS_PROP_LIST_STYLE_TYPE		= 0x02f,
65 	CSS_PROP_MARGIN_TOP			= 0x030,
66 	CSS_PROP_MARGIN_RIGHT			= 0x031,
67 	CSS_PROP_MARGIN_BOTTOM			= 0x032,
68 	CSS_PROP_MARGIN_LEFT			= 0x033,
69 	CSS_PROP_MAX_HEIGHT			= 0x034,
70 	CSS_PROP_MAX_WIDTH			= 0x035,
71 	CSS_PROP_MIN_HEIGHT			= 0x036,
72 	CSS_PROP_MIN_WIDTH			= 0x037,
73 	CSS_PROP_ORPHANS			= 0x038,
74 	CSS_PROP_OUTLINE_COLOR			= 0x039,
75 	CSS_PROP_OUTLINE_STYLE			= 0x03a,
76 	CSS_PROP_OUTLINE_WIDTH			= 0x03b,
77 	CSS_PROP_OVERFLOW_X			= 0x03c,
78 	CSS_PROP_PADDING_TOP			= 0x03d,
79 	CSS_PROP_PADDING_RIGHT			= 0x03e,
80 	CSS_PROP_PADDING_BOTTOM			= 0x03f,
81 	CSS_PROP_PADDING_LEFT			= 0x040,
82 	CSS_PROP_PAGE_BREAK_AFTER		= 0x041,
83 	CSS_PROP_PAGE_BREAK_BEFORE		= 0x042,
84 	CSS_PROP_PAGE_BREAK_INSIDE		= 0x043,
85 	CSS_PROP_PAUSE_AFTER			= 0x044,
86 	CSS_PROP_PAUSE_BEFORE			= 0x045,
87 	CSS_PROP_PITCH_RANGE			= 0x046,
88 	CSS_PROP_PITCH				= 0x047,
89 	CSS_PROP_PLAY_DURING			= 0x048,
90 	CSS_PROP_POSITION			= 0x049,
91 	CSS_PROP_QUOTES				= 0x04a,
92 	CSS_PROP_RICHNESS			= 0x04b,
93 	CSS_PROP_RIGHT				= 0x04c,
94 	CSS_PROP_SPEAK_HEADER			= 0x04d,
95 	CSS_PROP_SPEAK_NUMERAL			= 0x04e,
96 	CSS_PROP_SPEAK_PUNCTUATION		= 0x04f,
97 	CSS_PROP_SPEAK				= 0x050,
98 	CSS_PROP_SPEECH_RATE			= 0x051,
99 	CSS_PROP_STRESS				= 0x052,
100 	CSS_PROP_TABLE_LAYOUT			= 0x053,
101 	CSS_PROP_TEXT_ALIGN			= 0x054,
102 	CSS_PROP_TEXT_DECORATION		= 0x055,
103 	CSS_PROP_TEXT_INDENT			= 0x056,
104 	CSS_PROP_TEXT_TRANSFORM			= 0x057,
105 	CSS_PROP_TOP				= 0x058,
106 	CSS_PROP_UNICODE_BIDI			= 0x059,
107 	CSS_PROP_VERTICAL_ALIGN			= 0x05a,
108 	CSS_PROP_VISIBILITY			= 0x05b,
109 	CSS_PROP_VOICE_FAMILY			= 0x05c,
110 	CSS_PROP_VOLUME				= 0x05d,
111 	CSS_PROP_WHITE_SPACE			= 0x05e,
112 	CSS_PROP_WIDOWS				= 0x05f,
113 	CSS_PROP_WIDTH				= 0x060,
114 	CSS_PROP_WORD_SPACING			= 0x061,
115 	CSS_PROP_Z_INDEX			= 0x062,
116 	CSS_PROP_OPACITY			= 0x063,
117 	CSS_PROP_BREAK_AFTER			= 0x064,
118 	CSS_PROP_BREAK_BEFORE			= 0x065,
119 	CSS_PROP_BREAK_INSIDE			= 0x066,
120 	CSS_PROP_COLUMN_COUNT			= 0x067,
121 	CSS_PROP_COLUMN_FILL			= 0x068,
122 	CSS_PROP_COLUMN_GAP			= 0x069,
123 	CSS_PROP_COLUMN_RULE_COLOR		= 0x06a,
124 	CSS_PROP_COLUMN_RULE_STYLE		= 0x06b,
125 	CSS_PROP_COLUMN_RULE_WIDTH		= 0x06c,
126 	CSS_PROP_COLUMN_SPAN			= 0x06d,
127 	CSS_PROP_COLUMN_WIDTH			= 0x06e,
128 	CSS_PROP_WRITING_MODE			= 0x06f,
129 	CSS_PROP_OVERFLOW_Y			= 0x070,
130 	CSS_PROP_BOX_SIZING			= 0x071,
131 	CSS_PROP_ALIGN_CONTENT			= 0x072,
132 	CSS_PROP_ALIGN_ITEMS			= 0x073,
133 	CSS_PROP_ALIGN_SELF			= 0x074,
134 	CSS_PROP_FLEX_BASIS			= 0x075,
135 	CSS_PROP_FLEX_DIRECTION			= 0x076,
136 	CSS_PROP_FLEX_GROW			= 0x077,
137 	CSS_PROP_FLEX_SHRINK			= 0x078,
138 	CSS_PROP_FLEX_WRAP			= 0x079,
139 	CSS_PROP_JUSTIFY_CONTENT		= 0x07a,
140 	CSS_PROP_ORDER				= 0x07b,
141 
142 	CSS_N_PROPERTIES
143 };
144 
145 enum css_align_content_e {
146 	CSS_ALIGN_CONTENT_INHERIT		= 0x0,
147 	CSS_ALIGN_CONTENT_STRETCH		= 0x1,
148 	CSS_ALIGN_CONTENT_FLEX_START		= 0x2,
149 	CSS_ALIGN_CONTENT_FLEX_END		= 0x3,
150 	CSS_ALIGN_CONTENT_CENTER		= 0x4,
151 	CSS_ALIGN_CONTENT_SPACE_BETWEEN		= 0x5,
152 	CSS_ALIGN_CONTENT_SPACE_AROUND		= 0x6,
153 	CSS_ALIGN_CONTENT_SPACE_EVENLY		= 0x7
154 };
155 
156 enum css_align_items_e {
157 	CSS_ALIGN_ITEMS_INHERIT			= 0x0,
158 	CSS_ALIGN_ITEMS_STRETCH			= 0x1,
159 	CSS_ALIGN_ITEMS_FLEX_START		= 0x2,
160 	CSS_ALIGN_ITEMS_FLEX_END		= 0x3,
161 	CSS_ALIGN_ITEMS_CENTER			= 0x4,
162 	CSS_ALIGN_ITEMS_BASELINE		= 0x5
163 };
164 
165 enum css_align_self_e {
166 	CSS_ALIGN_SELF_INHERIT			= 0x0,
167 	CSS_ALIGN_SELF_STRETCH			= 0x1,
168 	CSS_ALIGN_SELF_FLEX_START		= 0x2,
169 	CSS_ALIGN_SELF_FLEX_END			= 0x3,
170 	CSS_ALIGN_SELF_CENTER			= 0x4,
171 	CSS_ALIGN_SELF_BASELINE			= 0x5,
172 	CSS_ALIGN_SELF_AUTO			= 0x6
173 };
174 
175 enum css_background_attachment_e {
176 	CSS_BACKGROUND_ATTACHMENT_INHERIT	= 0x0,
177 	CSS_BACKGROUND_ATTACHMENT_FIXED		= 0x1,
178 	CSS_BACKGROUND_ATTACHMENT_SCROLL	= 0x2
179 };
180 
181 enum css_background_color_e {
182 	CSS_BACKGROUND_COLOR_INHERIT		= 0x0,
183 	CSS_BACKGROUND_COLOR_COLOR		= 0x1,
184 	CSS_BACKGROUND_COLOR_CURRENT_COLOR	= 0x2
185 };
186 
187 enum css_background_image_e {
188 	CSS_BACKGROUND_IMAGE_INHERIT		= 0x0,
189 	/* Consult pointer in struct to determine which */
190 	CSS_BACKGROUND_IMAGE_NONE		= 0x1,
191 	CSS_BACKGROUND_IMAGE_IMAGE		= 0x1
192 };
193 
194 enum css_background_position_e {
195 	CSS_BACKGROUND_POSITION_INHERIT		= 0x0,
196 	CSS_BACKGROUND_POSITION_SET		= 0x1
197 };
198 
199 enum css_background_repeat_e {
200 	CSS_BACKGROUND_REPEAT_INHERIT		= 0x0,
201 	CSS_BACKGROUND_REPEAT_REPEAT_X		= 0x1,
202 	CSS_BACKGROUND_REPEAT_REPEAT_Y		= 0x2,
203 	CSS_BACKGROUND_REPEAT_REPEAT		= 0x3,
204 	CSS_BACKGROUND_REPEAT_NO_REPEAT		= 0x4
205 };
206 
207 enum css_border_collapse_e {
208 	CSS_BORDER_COLLAPSE_INHERIT		= 0x0,
209 	CSS_BORDER_COLLAPSE_SEPARATE		= 0x1,
210 	CSS_BORDER_COLLAPSE_COLLAPSE		= 0x2
211 };
212 
213 enum css_border_spacing_e {
214 	CSS_BORDER_SPACING_INHERIT		= 0x0,
215 	CSS_BORDER_SPACING_SET			= 0x1
216 };
217 
218 enum css_border_color_e {
219 	CSS_BORDER_COLOR_INHERIT		= CSS_BACKGROUND_COLOR_INHERIT,
220 	CSS_BORDER_COLOR_COLOR			= CSS_BACKGROUND_COLOR_COLOR,
221 	CSS_BORDER_COLOR_CURRENT_COLOR		= CSS_BACKGROUND_COLOR_CURRENT_COLOR
222 };
223 
224 enum css_border_style_e {
225 	CSS_BORDER_STYLE_INHERIT		= 0x0,
226 	CSS_BORDER_STYLE_NONE			= 0x1,
227 	CSS_BORDER_STYLE_HIDDEN			= 0x2,
228 	CSS_BORDER_STYLE_DOTTED			= 0x3,
229 	CSS_BORDER_STYLE_DASHED			= 0x4,
230 	CSS_BORDER_STYLE_SOLID			= 0x5,
231 	CSS_BORDER_STYLE_DOUBLE			= 0x6,
232 	CSS_BORDER_STYLE_GROOVE			= 0x7,
233 	CSS_BORDER_STYLE_RIDGE			= 0x8,
234 	CSS_BORDER_STYLE_INSET			= 0x9,
235 	CSS_BORDER_STYLE_OUTSET			= 0xa
236 };
237 
238 enum css_border_width_e {
239 	CSS_BORDER_WIDTH_INHERIT		= 0x0,
240 	CSS_BORDER_WIDTH_THIN			= 0x1,
241 	CSS_BORDER_WIDTH_MEDIUM			= 0x2,
242 	CSS_BORDER_WIDTH_THICK			= 0x3,
243 	CSS_BORDER_WIDTH_WIDTH			= 0x4
244 };
245 
246 enum css_bottom_e {
247 	CSS_BOTTOM_INHERIT			= 0x0,
248 	CSS_BOTTOM_SET				= 0x1,
249 	CSS_BOTTOM_AUTO				= 0x2
250 };
251 
252 enum css_box_sizing_e {
253 	CSS_BOX_SIZING_INHERIT			= 0x0,
254 	CSS_BOX_SIZING_CONTENT_BOX		= 0x1,
255 	CSS_BOX_SIZING_BORDER_BOX		= 0x2
256 };
257 
258 enum css_break_after_e {
259 	CSS_BREAK_AFTER_INHERIT			= 0x0,
260 	CSS_BREAK_AFTER_AUTO			= 0x1,
261 	CSS_BREAK_AFTER_AVOID			= 0x2,
262 	CSS_BREAK_AFTER_ALWAYS			= 0x3,
263 	CSS_BREAK_AFTER_LEFT			= 0x4,
264 	CSS_BREAK_AFTER_RIGHT			= 0x5,
265 	CSS_BREAK_AFTER_PAGE			= 0x6,
266 	CSS_BREAK_AFTER_COLUMN			= 0x7,
267 	CSS_BREAK_AFTER_AVOID_PAGE		= 0x8,
268 	CSS_BREAK_AFTER_AVOID_COLUMN		= 0x9
269 };
270 
271 enum css_break_before_e {
272 	CSS_BREAK_BEFORE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
273 	CSS_BREAK_BEFORE_AUTO			= CSS_BREAK_AFTER_AUTO,
274 	CSS_BREAK_BEFORE_AVOID			= CSS_BREAK_AFTER_AVOID,
275 	CSS_BREAK_BEFORE_ALWAYS			= CSS_BREAK_AFTER_ALWAYS,
276 	CSS_BREAK_BEFORE_LEFT			= CSS_BREAK_AFTER_LEFT,
277 	CSS_BREAK_BEFORE_RIGHT			= CSS_BREAK_AFTER_RIGHT,
278 	CSS_BREAK_BEFORE_PAGE			= CSS_BREAK_AFTER_PAGE,
279 	CSS_BREAK_BEFORE_COLUMN			= CSS_BREAK_AFTER_COLUMN,
280 	CSS_BREAK_BEFORE_AVOID_PAGE		= CSS_BREAK_AFTER_AVOID_PAGE,
281 	CSS_BREAK_BEFORE_AVOID_COLUMN		= CSS_BREAK_AFTER_AVOID_COLUMN
282 };
283 
284 enum css_break_inside_e {
285 	CSS_BREAK_INSIDE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
286 	CSS_BREAK_INSIDE_AUTO			= CSS_BREAK_AFTER_AUTO,
287 	CSS_BREAK_INSIDE_AVOID			= CSS_BREAK_AFTER_AVOID,
288 	CSS_BREAK_INSIDE_AVOID_PAGE		= CSS_BREAK_AFTER_AVOID_PAGE,
289 	CSS_BREAK_INSIDE_AVOID_COLUMN		= CSS_BREAK_AFTER_AVOID_COLUMN
290 };
291 
292 enum css_caption_side_e {
293 	CSS_CAPTION_SIDE_INHERIT		= 0x0,
294 	CSS_CAPTION_SIDE_TOP			= 0x1,
295 	CSS_CAPTION_SIDE_BOTTOM			= 0x2
296 };
297 
298 enum css_clear_e {
299 	CSS_CLEAR_INHERIT			= 0x0,
300 	CSS_CLEAR_NONE				= 0x1,
301 	CSS_CLEAR_LEFT				= 0x2,
302 	CSS_CLEAR_RIGHT				= 0x3,
303 	CSS_CLEAR_BOTH				= 0x4
304 };
305 
306 enum css_clip_e {
307 	CSS_CLIP_INHERIT			= 0x0,
308 	CSS_CLIP_AUTO				= 0x1,
309 	CSS_CLIP_RECT				= 0x2
310 };
311 
312 enum css_color_e {
313 	CSS_COLOR_INHERIT			= 0x0,
314 	CSS_COLOR_COLOR				= 0x1
315 };
316 
317 enum css_column_count_e {
318 	CSS_COLUMN_COUNT_INHERIT		= 0x0,
319 	CSS_COLUMN_COUNT_AUTO			= 0x1,
320 	CSS_COLUMN_COUNT_SET			= 0x2
321 };
322 
323 enum css_column_fill_e {
324 	CSS_COLUMN_FILL_INHERIT			= 0x0,
325 	CSS_COLUMN_FILL_BALANCE			= 0x1,
326 	CSS_COLUMN_FILL_AUTO			= 0x2
327 };
328 
329 enum css_column_gap_e {
330 	CSS_COLUMN_GAP_INHERIT			= 0x0,
331 	CSS_COLUMN_GAP_SET			= 0x1,
332 	CSS_COLUMN_GAP_NORMAL			= 0x2
333 };
334 
335 enum css_column_rule_color_e {
336 	CSS_COLUMN_RULE_COLOR_INHERIT		= CSS_BACKGROUND_COLOR_INHERIT,
337 	CSS_COLUMN_RULE_COLOR_COLOR		= CSS_BACKGROUND_COLOR_COLOR,
338 	CSS_COLUMN_RULE_COLOR_CURRENT_COLOR	= CSS_BACKGROUND_COLOR_CURRENT_COLOR
339 };
340 
341 enum css_column_rule_style_e {
342 	CSS_COLUMN_RULE_STYLE_INHERIT		= CSS_BORDER_STYLE_INHERIT,
343 	CSS_COLUMN_RULE_STYLE_NONE		= CSS_BORDER_STYLE_NONE,
344 	CSS_COLUMN_RULE_STYLE_HIDDEN		= CSS_BORDER_STYLE_HIDDEN,
345 	CSS_COLUMN_RULE_STYLE_DOTTED		= CSS_BORDER_STYLE_DOTTED,
346 	CSS_COLUMN_RULE_STYLE_DASHED		= CSS_BORDER_STYLE_DASHED,
347 	CSS_COLUMN_RULE_STYLE_SOLID		= CSS_BORDER_STYLE_SOLID,
348 	CSS_COLUMN_RULE_STYLE_DOUBLE		= CSS_BORDER_STYLE_DOUBLE,
349 	CSS_COLUMN_RULE_STYLE_GROOVE		= CSS_BORDER_STYLE_GROOVE,
350 	CSS_COLUMN_RULE_STYLE_RIDGE		= CSS_BORDER_STYLE_RIDGE,
351 	CSS_COLUMN_RULE_STYLE_INSET		= CSS_BORDER_STYLE_INSET,
352 	CSS_COLUMN_RULE_STYLE_OUTSET		= CSS_BORDER_STYLE_OUTSET
353 };
354 
355 enum css_column_rule_width_e {
356 	CSS_COLUMN_RULE_WIDTH_INHERIT		= CSS_BORDER_WIDTH_INHERIT,
357 	CSS_COLUMN_RULE_WIDTH_THIN		= CSS_BORDER_WIDTH_THIN,
358 	CSS_COLUMN_RULE_WIDTH_MEDIUM		= CSS_BORDER_WIDTH_MEDIUM,
359 	CSS_COLUMN_RULE_WIDTH_THICK		= CSS_BORDER_WIDTH_THICK,
360 	CSS_COLUMN_RULE_WIDTH_WIDTH		= CSS_BORDER_WIDTH_WIDTH
361 };
362 
363 enum css_column_span_e {
364 	CSS_COLUMN_SPAN_INHERIT			= 0x0,
365 	CSS_COLUMN_SPAN_NONE			= 0x1,
366 	CSS_COLUMN_SPAN_ALL			= 0x2
367 };
368 
369 enum css_column_width_e {
370 	CSS_COLUMN_WIDTH_INHERIT		= 0x0,
371 	CSS_COLUMN_WIDTH_SET			= 0x1,
372 	CSS_COLUMN_WIDTH_AUTO			= 0x2
373 };
374 
375 enum css_content_e {
376 	CSS_CONTENT_INHERIT			= 0x0,
377 	CSS_CONTENT_NONE			= 0x1,
378 	CSS_CONTENT_NORMAL			= 0x2,
379 	CSS_CONTENT_SET				= 0x3
380 };
381 
382 enum css_counter_increment_e {
383 	CSS_COUNTER_INCREMENT_INHERIT		= 0x0,
384 	/* Consult pointer in struct to determine which */
385 	CSS_COUNTER_INCREMENT_NAMED		= 0x1,
386 	CSS_COUNTER_INCREMENT_NONE		= 0x1
387 };
388 
389 enum css_counter_reset_e {
390 	CSS_COUNTER_RESET_INHERIT		= 0x0,
391 	/* Consult pointer in struct to determine which */
392 	CSS_COUNTER_RESET_NAMED			= 0x1,
393 	CSS_COUNTER_RESET_NONE			= 0x1
394 };
395 
396 enum css_cursor_e {
397 	CSS_CURSOR_INHERIT			= 0x00,
398 	/* URLs exist if pointer is non-NULL */
399 	CSS_CURSOR_AUTO				= 0x01,
400 	CSS_CURSOR_CROSSHAIR			= 0x02,
401 	CSS_CURSOR_DEFAULT			= 0x03,
402 	CSS_CURSOR_POINTER			= 0x04,
403 	CSS_CURSOR_MOVE				= 0x05,
404 	CSS_CURSOR_E_RESIZE			= 0x06,
405 	CSS_CURSOR_NE_RESIZE			= 0x07,
406 	CSS_CURSOR_NW_RESIZE			= 0x08,
407 	CSS_CURSOR_N_RESIZE			= 0x09,
408 	CSS_CURSOR_SE_RESIZE			= 0x0a,
409 	CSS_CURSOR_SW_RESIZE			= 0x0b,
410 	CSS_CURSOR_S_RESIZE			= 0x0c,
411 	CSS_CURSOR_W_RESIZE			= 0x0d,
412 	CSS_CURSOR_TEXT				= 0x0e,
413 	CSS_CURSOR_WAIT				= 0x0f,
414 	CSS_CURSOR_HELP				= 0x10,
415 	CSS_CURSOR_PROGRESS			= 0x11
416 };
417 
418 enum css_direction_e {
419 	CSS_DIRECTION_INHERIT			= 0x0,
420 	CSS_DIRECTION_LTR			= 0x1,
421 	CSS_DIRECTION_RTL			= 0x2
422 };
423 
424 enum css_display_e {
425 	CSS_DISPLAY_INHERIT			= 0x00,
426 	CSS_DISPLAY_INLINE			= 0x01,
427 	CSS_DISPLAY_BLOCK			= 0x02,
428 	CSS_DISPLAY_LIST_ITEM			= 0x03,
429 	CSS_DISPLAY_RUN_IN			= 0x04,
430 	CSS_DISPLAY_INLINE_BLOCK		= 0x05,
431 	CSS_DISPLAY_TABLE			= 0x06,
432 	CSS_DISPLAY_INLINE_TABLE		= 0x07,
433 	CSS_DISPLAY_TABLE_ROW_GROUP		= 0x08,
434 	CSS_DISPLAY_TABLE_HEADER_GROUP		= 0x09,
435 	CSS_DISPLAY_TABLE_FOOTER_GROUP		= 0x0a,
436 	CSS_DISPLAY_TABLE_ROW			= 0x0b,
437 	CSS_DISPLAY_TABLE_COLUMN_GROUP		= 0x0c,
438 	CSS_DISPLAY_TABLE_COLUMN		= 0x0d,
439 	CSS_DISPLAY_TABLE_CELL			= 0x0e,
440 	CSS_DISPLAY_TABLE_CAPTION		= 0x0f,
441 	CSS_DISPLAY_NONE			= 0x10,
442 	CSS_DISPLAY_FLEX			= 0x11,
443 	CSS_DISPLAY_INLINE_FLEX			= 0x12
444 };
445 
446 enum css_empty_cells_e {
447 	CSS_EMPTY_CELLS_INHERIT			= 0x0,
448 	CSS_EMPTY_CELLS_SHOW			= 0x1,
449 	CSS_EMPTY_CELLS_HIDE			= 0x2
450 };
451 
452 enum css_flex_basis_e {
453 	CSS_FLEX_BASIS_INHERIT			= 0x0,
454 	CSS_FLEX_BASIS_SET			= 0x1,
455 	CSS_FLEX_BASIS_AUTO			= 0x2,
456 	CSS_FLEX_BASIS_CONTENT			= 0x3
457 };
458 
459 enum css_flex_direction_e {
460 	CSS_FLEX_DIRECTION_INHERIT		= 0x0,
461 	CSS_FLEX_DIRECTION_ROW			= 0x1,
462 	CSS_FLEX_DIRECTION_ROW_REVERSE		= 0x2,
463 	CSS_FLEX_DIRECTION_COLUMN		= 0x3,
464 	CSS_FLEX_DIRECTION_COLUMN_REVERSE	= 0x4
465 };
466 
467 enum css_flex_grow_e {
468 	CSS_FLEX_GROW_INHERIT			= 0x0,
469 	CSS_FLEX_GROW_SET			= 0x1
470 };
471 
472 enum css_flex_shrink_e {
473 	CSS_FLEX_SHRINK_INHERIT			= 0x0,
474 	CSS_FLEX_SHRINK_SET			= 0x1
475 };
476 
477 enum css_flex_wrap_e {
478 	CSS_FLEX_WRAP_INHERIT			= 0x0,
479 	CSS_FLEX_WRAP_NOWRAP			= 0x1,
480 	CSS_FLEX_WRAP_WRAP			= 0x2,
481 	CSS_FLEX_WRAP_WRAP_REVERSE		= 0x3
482 };
483 
484 enum css_float_e {
485 	CSS_FLOAT_INHERIT			= 0x0,
486 	CSS_FLOAT_LEFT				= 0x1,
487 	CSS_FLOAT_RIGHT				= 0x2,
488 	CSS_FLOAT_NONE				= 0x3
489 };
490 
491 enum css_font_family_e {
492 	CSS_FONT_FAMILY_INHERIT			= 0x0,
493 	/* Named fonts exist if pointer is non-NULL */
494 	CSS_FONT_FAMILY_SERIF			= 0x1,
495 	CSS_FONT_FAMILY_SANS_SERIF		= 0x2,
496 	CSS_FONT_FAMILY_CURSIVE			= 0x3,
497 	CSS_FONT_FAMILY_FANTASY			= 0x4,
498 	CSS_FONT_FAMILY_MONOSPACE		= 0x5
499 };
500 
501 enum css_font_size_e {
502 	CSS_FONT_SIZE_INHERIT			= 0x0,
503 	CSS_FONT_SIZE_XX_SMALL			= 0x1,
504 	CSS_FONT_SIZE_X_SMALL			= 0x2,
505 	CSS_FONT_SIZE_SMALL			= 0x3,
506 	CSS_FONT_SIZE_MEDIUM			= 0x4,
507 	CSS_FONT_SIZE_LARGE			= 0x5,
508 	CSS_FONT_SIZE_X_LARGE			= 0x6,
509 	CSS_FONT_SIZE_XX_LARGE			= 0x7,
510 	CSS_FONT_SIZE_LARGER			= 0x8,
511 	CSS_FONT_SIZE_SMALLER			= 0x9,
512 	CSS_FONT_SIZE_DIMENSION			= 0xa
513 };
514 
515 enum css_font_style_e {
516 	CSS_FONT_STYLE_INHERIT			= 0x0,
517 	CSS_FONT_STYLE_NORMAL			= 0x1,
518 	CSS_FONT_STYLE_ITALIC			= 0x2,
519 	CSS_FONT_STYLE_OBLIQUE			= 0x3
520 };
521 
522 enum css_font_variant_e {
523 	CSS_FONT_VARIANT_INHERIT		= 0x0,
524 	CSS_FONT_VARIANT_NORMAL			= 0x1,
525 	CSS_FONT_VARIANT_SMALL_CAPS		= 0x2
526 };
527 
528 enum css_font_weight_e {
529 	CSS_FONT_WEIGHT_INHERIT			= 0x0,
530 	CSS_FONT_WEIGHT_NORMAL			= 0x1,
531 	CSS_FONT_WEIGHT_BOLD			= 0x2,
532 	CSS_FONT_WEIGHT_BOLDER			= 0x3,
533 	CSS_FONT_WEIGHT_LIGHTER			= 0x4,
534 	CSS_FONT_WEIGHT_100			= 0x5,
535 	CSS_FONT_WEIGHT_200			= 0x6,
536 	CSS_FONT_WEIGHT_300			= 0x7,
537 	CSS_FONT_WEIGHT_400			= 0x8,
538 	CSS_FONT_WEIGHT_500			= 0x9,
539 	CSS_FONT_WEIGHT_600			= 0xa,
540 	CSS_FONT_WEIGHT_700			= 0xb,
541 	CSS_FONT_WEIGHT_800			= 0xc,
542 	CSS_FONT_WEIGHT_900			= 0xd
543 };
544 
545 enum css_height_e {
546 	CSS_HEIGHT_INHERIT			= 0x0,
547 	CSS_HEIGHT_SET				= 0x1,
548 	CSS_HEIGHT_AUTO				= 0x2
549 };
550 
551 enum css_justify_content_e {
552 	CSS_JUSTIFY_CONTENT_INHERIT		= 0x0,
553 	CSS_JUSTIFY_CONTENT_FLEX_START		= 0x1,
554 	CSS_JUSTIFY_CONTENT_FLEX_END		= 0x2,
555 	CSS_JUSTIFY_CONTENT_CENTER		= 0x3,
556 	CSS_JUSTIFY_CONTENT_SPACE_BETWEEN	= 0x4,
557 	CSS_JUSTIFY_CONTENT_SPACE_AROUND	= 0x5,
558 	CSS_JUSTIFY_CONTENT_SPACE_EVENLY	= 0x6
559 };
560 
561 enum css_left_e {
562 	CSS_LEFT_INHERIT			= 0x0,
563 	CSS_LEFT_SET				= 0x1,
564 	CSS_LEFT_AUTO				= 0x2
565 };
566 
567 enum css_letter_spacing_e {
568 	CSS_LETTER_SPACING_INHERIT		= CSS_COLUMN_GAP_INHERIT,
569 	CSS_LETTER_SPACING_SET			= CSS_COLUMN_GAP_SET,
570 	CSS_LETTER_SPACING_NORMAL		= CSS_COLUMN_GAP_NORMAL
571 };
572 
573 enum css_line_height_e {
574 	CSS_LINE_HEIGHT_INHERIT			= 0x0,
575 	CSS_LINE_HEIGHT_NUMBER			= 0x1,
576 	CSS_LINE_HEIGHT_DIMENSION		= 0x2,
577 	CSS_LINE_HEIGHT_NORMAL			= 0x3
578 };
579 
580 enum css_list_style_image_e {
581 	CSS_LIST_STYLE_IMAGE_INHERIT		= 0x0,
582 	/* Consult pointer in struct to determine which */
583 	CSS_LIST_STYLE_IMAGE_URI		= 0x1,
584 	CSS_LIST_STYLE_IMAGE_NONE		= 0x1
585 };
586 
587 enum css_list_style_position_e {
588 	CSS_LIST_STYLE_POSITION_INHERIT		= 0x0,
589 	CSS_LIST_STYLE_POSITION_INSIDE		= 0x1,
590 	CSS_LIST_STYLE_POSITION_OUTSIDE		= 0x2
591 };
592 
593 enum css_list_style_type_e {
594 	CSS_LIST_STYLE_TYPE_INHERIT		= 0x0,
595 	CSS_LIST_STYLE_TYPE_DISC		= 0x1,
596 	CSS_LIST_STYLE_TYPE_CIRCLE		= 0x2,
597 	CSS_LIST_STYLE_TYPE_SQUARE		= 0x3,
598 	CSS_LIST_STYLE_TYPE_DECIMAL		= 0x4,
599 	CSS_LIST_STYLE_TYPE_DECIMAL_LEADING_ZERO= 0x5,
600 	CSS_LIST_STYLE_TYPE_LOWER_ROMAN		= 0x6,
601 	CSS_LIST_STYLE_TYPE_UPPER_ROMAN		= 0x7,
602 	CSS_LIST_STYLE_TYPE_LOWER_GREEK		= 0x8,
603 	CSS_LIST_STYLE_TYPE_LOWER_LATIN		= 0x9,
604 	CSS_LIST_STYLE_TYPE_UPPER_LATIN		= 0xa,
605 	CSS_LIST_STYLE_TYPE_ARMENIAN		= 0xb,
606 	CSS_LIST_STYLE_TYPE_GEORGIAN		= 0xc,
607 	CSS_LIST_STYLE_TYPE_LOWER_ALPHA		= 0xd,
608 	CSS_LIST_STYLE_TYPE_UPPER_ALPHA		= 0xe,
609 	CSS_LIST_STYLE_TYPE_NONE		= 0xf
610 };
611 
612 enum css_margin_e {
613 	CSS_MARGIN_INHERIT			= 0x0,
614 	CSS_MARGIN_SET				= 0x1,
615 	CSS_MARGIN_AUTO				= 0x2
616 };
617 
618 enum css_max_height_e {
619 	CSS_MAX_HEIGHT_INHERIT			= 0x0,
620 	CSS_MAX_HEIGHT_SET			= 0x1,
621 	CSS_MAX_HEIGHT_NONE			= 0x2
622 };
623 
624 enum css_max_width_e {
625 	CSS_MAX_WIDTH_INHERIT			= 0x0,
626 	CSS_MAX_WIDTH_SET			= 0x1,
627 	CSS_MAX_WIDTH_NONE			= 0x2
628 };
629 
630 enum css_min_height_e {
631 	CSS_MIN_HEIGHT_INHERIT			= 0x0,
632 	CSS_MIN_HEIGHT_SET			= 0x1,
633 	CSS_MIN_HEIGHT_AUTO			= 0x2
634 };
635 
636 enum css_min_width_e {
637 	CSS_MIN_WIDTH_INHERIT			= 0x0,
638 	CSS_MIN_WIDTH_SET			= 0x1,
639 	CSS_MIN_WIDTH_AUTO			= 0x2
640 };
641 
642 enum css_opacity_e {
643 	CSS_OPACITY_INHERIT			= 0x0,
644 	CSS_OPACITY_SET				= 0x1
645 };
646 
647 enum css_order_e {
648 	CSS_ORDER_INHERIT			= 0x0,
649 	CSS_ORDER_SET				= 0x1
650 };
651 
652 enum css_outline_color_e {
653 	CSS_OUTLINE_COLOR_INHERIT		= CSS_BACKGROUND_COLOR_INHERIT,
654 	CSS_OUTLINE_COLOR_COLOR			= CSS_BACKGROUND_COLOR_COLOR,
655 	CSS_OUTLINE_COLOR_CURRENT_COLOR		= CSS_BACKGROUND_COLOR_CURRENT_COLOR,
656 	CSS_OUTLINE_COLOR_INVERT		= 0x3
657 };
658 
659 enum css_outline_style_e {
660 	CSS_OUTLINE_STYLE_INHERIT		= CSS_BORDER_STYLE_INHERIT,
661 	CSS_OUTLINE_STYLE_NONE			= CSS_BORDER_STYLE_NONE,
662 	CSS_OUTLINE_STYLE_DOTTED		= CSS_BORDER_STYLE_DOTTED,
663 	CSS_OUTLINE_STYLE_DASHED		= CSS_BORDER_STYLE_DASHED,
664 	CSS_OUTLINE_STYLE_SOLID			= CSS_BORDER_STYLE_SOLID,
665 	CSS_OUTLINE_STYLE_DOUBLE		= CSS_BORDER_STYLE_DOUBLE,
666 	CSS_OUTLINE_STYLE_GROOVE		= CSS_BORDER_STYLE_GROOVE,
667 	CSS_OUTLINE_STYLE_RIDGE			= CSS_BORDER_STYLE_RIDGE,
668 	CSS_OUTLINE_STYLE_INSET			= CSS_BORDER_STYLE_INSET,
669 	CSS_OUTLINE_STYLE_OUTSET		= CSS_BORDER_STYLE_OUTSET
670 };
671 
672 enum css_outline_width_e {
673 	CSS_OUTLINE_WIDTH_INHERIT		= CSS_BORDER_WIDTH_INHERIT,
674 	CSS_OUTLINE_WIDTH_THIN			= CSS_BORDER_WIDTH_THIN,
675 	CSS_OUTLINE_WIDTH_MEDIUM		= CSS_BORDER_WIDTH_MEDIUM,
676 	CSS_OUTLINE_WIDTH_THICK			= CSS_BORDER_WIDTH_THICK,
677 	CSS_OUTLINE_WIDTH_WIDTH			= CSS_BORDER_WIDTH_WIDTH
678 };
679 
680 enum css_overflow_e {
681 	CSS_OVERFLOW_INHERIT			= 0x0,
682 	CSS_OVERFLOW_VISIBLE			= 0x1,
683 	CSS_OVERFLOW_HIDDEN			= 0x2,
684 	CSS_OVERFLOW_SCROLL			= 0x3,
685 	CSS_OVERFLOW_AUTO			= 0x4
686 };
687 
688 enum css_orphans_e {
689 	CSS_ORPHANS_INHERIT			= 0x0,
690 	CSS_ORPHANS_SET				= 0x1
691 };
692 
693 enum css_padding_e {
694 	CSS_PADDING_INHERIT			= 0x0,
695 	CSS_PADDING_SET				= 0x1
696 };
697 
698 enum css_page_break_after_e {
699 	CSS_PAGE_BREAK_AFTER_INHERIT		= CSS_BREAK_AFTER_INHERIT,
700 	CSS_PAGE_BREAK_AFTER_AUTO		= CSS_BREAK_AFTER_AUTO,
701 	CSS_PAGE_BREAK_AFTER_AVOID		= CSS_BREAK_AFTER_AVOID,
702 	CSS_PAGE_BREAK_AFTER_ALWAYS		= CSS_BREAK_AFTER_ALWAYS,
703 	CSS_PAGE_BREAK_AFTER_LEFT		= CSS_BREAK_AFTER_LEFT,
704 	CSS_PAGE_BREAK_AFTER_RIGHT		= CSS_BREAK_AFTER_RIGHT
705 };
706 
707 enum css_page_break_before_e {
708 	CSS_PAGE_BREAK_BEFORE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
709 	CSS_PAGE_BREAK_BEFORE_AUTO		= CSS_BREAK_AFTER_AUTO,
710 	CSS_PAGE_BREAK_BEFORE_AVOID		= CSS_BREAK_AFTER_AVOID,
711 	CSS_PAGE_BREAK_BEFORE_ALWAYS		= CSS_BREAK_AFTER_ALWAYS,
712 	CSS_PAGE_BREAK_BEFORE_LEFT		= CSS_BREAK_AFTER_LEFT,
713 	CSS_PAGE_BREAK_BEFORE_RIGHT		= CSS_BREAK_AFTER_RIGHT
714 };
715 
716 enum css_page_break_inside_e {
717 	CSS_PAGE_BREAK_INSIDE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
718 	CSS_PAGE_BREAK_INSIDE_AUTO		= CSS_BREAK_AFTER_AUTO,
719 	CSS_PAGE_BREAK_INSIDE_AVOID		= CSS_BREAK_AFTER_AVOID
720 };
721 
722 enum css_position_e {
723 	CSS_POSITION_INHERIT			= 0x0,
724 	CSS_POSITION_STATIC			= 0x1,
725 	CSS_POSITION_RELATIVE			= 0x2,
726 	CSS_POSITION_ABSOLUTE			= 0x3,
727 	CSS_POSITION_FIXED			= 0x4
728 };
729 
730 enum css_quotes_e {
731 	CSS_QUOTES_INHERIT			= 0x0,
732 	/* Consult pointer in struct to determine which */
733 	CSS_QUOTES_STRING			= 0x1,
734 	CSS_QUOTES_NONE				= 0x1
735 };
736 
737 enum css_right_e {
738 	CSS_RIGHT_INHERIT			= 0x0,
739 	CSS_RIGHT_SET				= 0x1,
740 	CSS_RIGHT_AUTO				= 0x2
741 };
742 
743 enum css_table_layout_e {
744 	CSS_TABLE_LAYOUT_INHERIT		= 0x0,
745 	CSS_TABLE_LAYOUT_AUTO			= 0x1,
746 	CSS_TABLE_LAYOUT_FIXED			= 0x2
747 };
748 
749 enum css_text_align_e {
750 	CSS_TEXT_ALIGN_INHERIT			= 0x0,
751 	CSS_TEXT_ALIGN_INHERIT_IF_NON_MAGIC	= 0x1,
752 	CSS_TEXT_ALIGN_LEFT			= 0x2,
753 	CSS_TEXT_ALIGN_RIGHT			= 0x3,
754 	CSS_TEXT_ALIGN_CENTER			= 0x4,
755 	CSS_TEXT_ALIGN_JUSTIFY			= 0x5,
756 	CSS_TEXT_ALIGN_DEFAULT			= 0x6,
757 	CSS_TEXT_ALIGN_LIBCSS_LEFT		= 0x7,
758 	CSS_TEXT_ALIGN_LIBCSS_CENTER		= 0x8,
759 	CSS_TEXT_ALIGN_LIBCSS_RIGHT		= 0x9
760 };
761 
762 enum css_text_decoration_e {
763 	CSS_TEXT_DECORATION_INHERIT		= 0x00,
764 	CSS_TEXT_DECORATION_NONE		= 0x10,
765 	CSS_TEXT_DECORATION_BLINK		= (1<<3),
766 	CSS_TEXT_DECORATION_LINE_THROUGH	= (1<<2),
767 	CSS_TEXT_DECORATION_OVERLINE		= (1<<1),
768 	CSS_TEXT_DECORATION_UNDERLINE		= (1<<0)
769 };
770 
771 enum css_text_indent_e {
772 	CSS_TEXT_INDENT_INHERIT			= 0x0,
773 	CSS_TEXT_INDENT_SET			= 0x1
774 };
775 
776 enum css_text_transform_e {
777 	CSS_TEXT_TRANSFORM_INHERIT		= 0x0,
778 	CSS_TEXT_TRANSFORM_CAPITALIZE		= 0x1,
779 	CSS_TEXT_TRANSFORM_UPPERCASE		= 0x2,
780 	CSS_TEXT_TRANSFORM_LOWERCASE		= 0x3,
781 	CSS_TEXT_TRANSFORM_NONE			= 0x4
782 };
783 
784 enum css_top_e {
785 	CSS_TOP_INHERIT				= 0x0,
786 	CSS_TOP_SET				= 0x1,
787 	CSS_TOP_AUTO				= 0x2
788 };
789 
790 enum css_unicode_bidi_e {
791 	CSS_UNICODE_BIDI_INHERIT		= 0x0,
792 	CSS_UNICODE_BIDI_NORMAL			= 0x1,
793 	CSS_UNICODE_BIDI_EMBED			= 0x2,
794 	CSS_UNICODE_BIDI_BIDI_OVERRIDE		= 0x3
795 };
796 
797 enum css_vertical_align_e {
798 	CSS_VERTICAL_ALIGN_INHERIT		= 0x0,
799 	CSS_VERTICAL_ALIGN_BASELINE		= 0x1,
800 	CSS_VERTICAL_ALIGN_SUB			= 0x2,
801 	CSS_VERTICAL_ALIGN_SUPER		= 0x3,
802 	CSS_VERTICAL_ALIGN_TOP			= 0x4,
803 	CSS_VERTICAL_ALIGN_TEXT_TOP		= 0x5,
804 	CSS_VERTICAL_ALIGN_MIDDLE		= 0x6,
805 	CSS_VERTICAL_ALIGN_BOTTOM		= 0x7,
806 	CSS_VERTICAL_ALIGN_TEXT_BOTTOM		= 0x8,
807 	CSS_VERTICAL_ALIGN_SET			= 0x9
808 };
809 
810 enum css_visibility_e {
811 	CSS_VISIBILITY_INHERIT			= 0x0,
812 	CSS_VISIBILITY_VISIBLE			= 0x1,
813 	CSS_VISIBILITY_HIDDEN			= 0x2,
814 	CSS_VISIBILITY_COLLAPSE			= 0x3
815 };
816 
817 enum css_white_space_e {
818 	CSS_WHITE_SPACE_INHERIT			= 0x0,
819 	CSS_WHITE_SPACE_NORMAL			= 0x1,
820 	CSS_WHITE_SPACE_PRE			= 0x2,
821 	CSS_WHITE_SPACE_NOWRAP			= 0x3,
822 	CSS_WHITE_SPACE_PRE_WRAP		= 0x4,
823 	CSS_WHITE_SPACE_PRE_LINE		= 0x5
824 };
825 
826 enum css_widows_e {
827 	CSS_WIDOWS_INHERIT			= 0x0,
828 	CSS_WIDOWS_SET				= 0x1
829 };
830 
831 enum css_width_e {
832 	CSS_WIDTH_INHERIT			= 0x0,
833 	CSS_WIDTH_SET				= 0x1,
834 	CSS_WIDTH_AUTO				= 0x2
835 };
836 
837 enum css_word_spacing_e {
838 	CSS_WORD_SPACING_INHERIT		= CSS_COLUMN_GAP_INHERIT,
839 	CSS_WORD_SPACING_SET			= CSS_COLUMN_GAP_SET,
840 	CSS_WORD_SPACING_NORMAL			= CSS_COLUMN_GAP_NORMAL
841 };
842 
843 enum css_writing_mode_e {
844 	CSS_WRITING_MODE_INHERIT		= 0x0,
845 	CSS_WRITING_MODE_HORIZONTAL_TB		= 0x1,
846 	CSS_WRITING_MODE_VERTICAL_RL		= 0x2,
847 	CSS_WRITING_MODE_VERTICAL_LR		= 0x3
848 };
849 
850 enum css_z_index_e {
851 	CSS_Z_INDEX_INHERIT			= 0x0,
852 	CSS_Z_INDEX_SET				= 0x1,
853 	CSS_Z_INDEX_AUTO			= 0x2
854 };
855 
856 #ifdef __cplusplus
857 }
858 #endif
859 
860 #endif
861