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 2008 John-Mark Bell <jmb@netsurf-browser.org>
6  */
7 
8 #ifndef css_bytecode_opcodes_h_
9 #define css_bytecode_opcodes_h_
10 
11 #include <inttypes.h>
12 
13 enum op_align_content {
14 	ALIGN_CONTENT_STRETCH		= 0x0000,
15 	ALIGN_CONTENT_FLEX_START	= 0x0001,
16 	ALIGN_CONTENT_FLEX_END		= 0x0002,
17 	ALIGN_CONTENT_CENTER		= 0x0003,
18 	ALIGN_CONTENT_SPACE_BETWEEN	= 0x0004,
19 	ALIGN_CONTENT_SPACE_AROUND	= 0x0005,
20 	ALIGN_CONTENT_SPACE_EVENLY	= 0x0006
21 };
22 
23 enum op_align_items {
24 	ALIGN_ITEMS_STRETCH		= 0x0000,
25 	ALIGN_ITEMS_FLEX_START		= 0x0001,
26 	ALIGN_ITEMS_FLEX_END		= 0x0002,
27 	ALIGN_ITEMS_CENTER		= 0x0003,
28 	ALIGN_ITEMS_BASELINE		= 0x0004
29 };
30 
31 enum op_align_self {
32 	ALIGN_SELF_STRETCH		= 0x0000,
33 	ALIGN_SELF_FLEX_START		= 0x0001,
34 	ALIGN_SELF_FLEX_END		= 0x0002,
35 	ALIGN_SELF_CENTER		= 0x0003,
36 	ALIGN_SELF_BASELINE		= 0x0004,
37 	ALIGN_SELF_AUTO			= 0x0005
38 };
39 
40 enum op_azimuth {
41 	AZIMUTH_ANGLE			= 0x0080,
42 
43 	AZIMUTH_LEFTWARDS		= 0x0040,
44 	AZIMUTH_RIGHTWARDS		= 0x0041,
45 
46 	AZIMUTH_BEHIND			= (1<<5),
47 	AZIMUTH_LEFT_SIDE		= 0x0000,
48 	AZIMUTH_FAR_LEFT		= 0x0001,
49 	AZIMUTH_LEFT			= 0x0002,
50 	AZIMUTH_CENTER_LEFT		= 0x0003,
51 	AZIMUTH_CENTER			= 0x0004,
52 	AZIMUTH_CENTER_RIGHT		= 0x0005,
53 	AZIMUTH_RIGHT			= 0x0006,
54 	AZIMUTH_FAR_RIGHT		= 0x0007,
55 	AZIMUTH_RIGHT_SIDE		= 0x0008
56 };
57 
58 enum op_background_attachment {
59 	BACKGROUND_ATTACHMENT_FIXED	= 0x0000,
60 	BACKGROUND_ATTACHMENT_SCROLL	= 0x0001
61 };
62 
63 enum op_background_color {
64 	BACKGROUND_COLOR_TRANSPARENT	= 0x0000,
65 	BACKGROUND_COLOR_CURRENT_COLOR	= 0x0001,
66 	BACKGROUND_COLOR_SET		= 0x0080
67 };
68 
69 enum op_background_image {
70 	BACKGROUND_IMAGE_URI		= 0x0080,
71 	BACKGROUND_IMAGE_NONE		= 0x0000
72 };
73 
74 enum op_background_position {
75 	BACKGROUND_POSITION_HORZ_SET	= 0x0080,
76 	BACKGROUND_POSITION_HORZ_CENTER	= 0x0000,
77 	BACKGROUND_POSITION_HORZ_RIGHT	= 0x0010,
78 	BACKGROUND_POSITION_HORZ_LEFT	= 0x0020,
79 
80 	BACKGROUND_POSITION_VERT_SET	= 0x0008,
81 	BACKGROUND_POSITION_VERT_CENTER	= 0x0000,
82 	BACKGROUND_POSITION_VERT_BOTTOM	= 0x0001,
83 	BACKGROUND_POSITION_VERT_TOP	= 0x0002
84 };
85 
86 enum op_background_repeat {
87 	BACKGROUND_REPEAT_NO_REPEAT	= 0x0000,
88 	BACKGROUND_REPEAT_REPEAT_X	= 0x0001,
89 	BACKGROUND_REPEAT_REPEAT_Y	= 0x0002,
90 	BACKGROUND_REPEAT_REPEAT	= 0x0003
91 };
92 
93 enum op_border_collapse {
94 	BORDER_COLLAPSE_SEPARATE	= 0x0000,
95 	BORDER_COLLAPSE_COLLAPSE	= 0x0001
96 };
97 
98 enum op_border_spacing {
99 	BORDER_SPACING_SET		= 0x0080
100 };
101 
102 enum op_border_color {
103 	BORDER_COLOR_TRANSPARENT	= 0x0000,
104 	BORDER_COLOR_CURRENT_COLOR	= 0x0001,
105 	BORDER_COLOR_SET		= 0x0080
106 };
107 
108 enum op_border_style {
109 	BORDER_STYLE_NONE		= 0x0000,
110 	BORDER_STYLE_HIDDEN		= 0x0001,
111 	BORDER_STYLE_DOTTED		= 0x0002,
112 	BORDER_STYLE_DASHED		= 0x0003,
113 	BORDER_STYLE_SOLID		= 0x0004,
114 	BORDER_STYLE_DOUBLE		= 0x0005,
115 	BORDER_STYLE_GROOVE		= 0x0006,
116 	BORDER_STYLE_RIDGE		= 0x0007,
117 	BORDER_STYLE_INSET		= 0x0008,
118 	BORDER_STYLE_OUTSET		= 0x0009
119 };
120 
121 enum op_border_width {
122 	BORDER_WIDTH_SET		= 0x0080,
123 	BORDER_WIDTH_THIN		= 0x0000,
124 	BORDER_WIDTH_MEDIUM		= 0x0001,
125 	BORDER_WIDTH_THICK		= 0x0002
126 };
127 
128 enum op_bottom {
129 	BOTTOM_SET			= 0x0080,
130 	BOTTOM_AUTO			= 0x0000
131 };
132 
133 enum op_box_sizing {
134 	BOX_SIZING_CONTENT_BOX		= 0x0000,
135 	BOX_SIZING_BORDER_BOX		= 0x0001
136 };
137 
138 enum op_break_after {
139 	BREAK_AFTER_AUTO		= 0x0000,
140 	BREAK_AFTER_ALWAYS		= 0x0001,
141 	BREAK_AFTER_AVOID		= 0x0002,
142 	BREAK_AFTER_LEFT		= 0x0003,
143 	BREAK_AFTER_RIGHT		= 0x0004,
144 	BREAK_AFTER_PAGE		= 0x0005,
145 	BREAK_AFTER_COLUMN		= 0x0006,
146 	BREAK_AFTER_AVOID_PAGE		= 0x0007,
147 	BREAK_AFTER_AVOID_COLUMN	= 0x0008
148 };
149 
150 enum op_break_before {
151 	BREAK_BEFORE_AUTO		= 0x0000,
152 	BREAK_BEFORE_ALWAYS		= 0x0001,
153 	BREAK_BEFORE_AVOID		= 0x0002,
154 	BREAK_BEFORE_LEFT		= 0x0003,
155 	BREAK_BEFORE_RIGHT		= 0x0004,
156 	BREAK_BEFORE_PAGE		= 0x0005,
157 	BREAK_BEFORE_COLUMN		= 0x0006,
158 	BREAK_BEFORE_AVOID_PAGE		= 0x0007,
159 	BREAK_BEFORE_AVOID_COLUMN	= 0x0008
160 };
161 
162 enum op_break_inside {
163 	BREAK_INSIDE_AUTO		= 0x0000,
164 	BREAK_INSIDE_AVOID		= 0x0001,
165 	BREAK_INSIDE_AVOID_PAGE		= 0x0002,
166 	BREAK_INSIDE_AVOID_COLUMN	= 0x0003
167 };
168 
169 enum op_caption_side {
170 	CAPTION_SIDE_TOP		= 0x0000,
171 	CAPTION_SIDE_BOTTOM		= 0x0001
172 };
173 
174 enum op_clear {
175 	CLEAR_NONE			= 0x0000,
176 	CLEAR_LEFT			= 0x0001,
177 	CLEAR_RIGHT			= 0x0002,
178 	CLEAR_BOTH			= 0x0003
179 };
180 
181 enum op_clip {
182 	CLIP_SHAPE_MASK			= 0x0087,
183 	CLIP_SHAPE_RECT			= 0x0080,
184 
185 	CLIP_RECT_TOP_AUTO		= 0x0008,
186 	CLIP_RECT_RIGHT_AUTO		= 0x0010,
187 	CLIP_RECT_BOTTOM_AUTO		= 0x0020,
188 	CLIP_RECT_LEFT_AUTO		= 0x0040,
189 
190 	CLIP_AUTO			= 0x0000
191 };
192 
193 enum op_color {
194 	COLOR_TRANSPARENT		= 0x0000,
195 	COLOR_CURRENT_COLOR		= 0x0001,
196 	COLOR_SET			= 0x0080
197 };
198 
199 enum op_column_count {
200 	COLUMN_COUNT_AUTO		= 0x0000,
201 	COLUMN_COUNT_SET		= 0x0080
202 };
203 
204 enum op_column_fill {
205 	COLUMN_FILL_BALANCE		= 0x0000,
206 	COLUMN_FILL_AUTO		= 0x0001
207 };
208 
209 enum op_column_gap {
210 	COLUMN_GAP_NORMAL		= 0x0000,
211 	COLUMN_GAP_SET			= 0x0080
212 };
213 
214 enum op_column_rule_color {
215 	COLUMN_RULE_COLOR_TRANSPARENT	= COLOR_TRANSPARENT,
216 	COLUMN_RULE_COLOR_CURRENT_COLOR	= COLOR_CURRENT_COLOR,
217 	COLUMN_RULE_COLOR_SET		= COLOR_SET
218 };
219 
220 enum op_column_rule_style {
221 	COLUMN_RULE_STYLE_NONE		= BORDER_STYLE_NONE,
222 	COLUMN_RULE_STYLE_HIDDEN	= BORDER_STYLE_HIDDEN,
223 	COLUMN_RULE_STYLE_DOTTED	= BORDER_STYLE_DOTTED,
224 	COLUMN_RULE_STYLE_DASHED	= BORDER_STYLE_DASHED,
225 	COLUMN_RULE_STYLE_SOLID		= BORDER_STYLE_SOLID,
226 	COLUMN_RULE_STYLE_DOUBLE	= BORDER_STYLE_DOUBLE,
227 	COLUMN_RULE_STYLE_GROOVE	= BORDER_STYLE_GROOVE,
228 	COLUMN_RULE_STYLE_RIDGE		= BORDER_STYLE_RIDGE,
229 	COLUMN_RULE_STYLE_INSET		= BORDER_STYLE_INSET,
230 	COLUMN_RULE_STYLE_OUTSET	= BORDER_STYLE_OUTSET
231 };
232 
233 enum op_column_rule_width {
234 	COLUMN_RULE_WIDTH_SET		= BORDER_WIDTH_SET,
235 	COLUMN_RULE_WIDTH_THIN		= BORDER_WIDTH_THIN,
236 	COLUMN_RULE_WIDTH_MEDIUM	= BORDER_WIDTH_MEDIUM,
237 	COLUMN_RULE_WIDTH_THICK		= BORDER_WIDTH_THICK
238 };
239 
240 enum op_column_span {
241 	COLUMN_SPAN_NONE		= 0x0000,
242 	COLUMN_SPAN_ALL			= 0x0001
243 };
244 
245 enum op_column_width {
246 	COLUMN_WIDTH_AUTO		= 0x0000,
247 	COLUMN_WIDTH_SET		= 0x0080
248 };
249 
250 enum op_content {
251 	CONTENT_STRING			= 0x0080,
252 	CONTENT_URI			= 0x0081,
253 	CONTENT_COUNTER			= 0x0082,
254 	CONTENT_COUNTERS		= 0x0083,
255 	CONTENT_ATTR			= 0x0084,
256 
257 	CONTENT_COUNTER_STYLE_SHIFT	= 8,
258 	CONTENT_COUNTERS_STYLE_SHIFT	= 8,
259 
260 	CONTENT_NORMAL			= 0x0000,
261 	CONTENT_NONE			= 0x0001,
262 	CONTENT_OPEN_QUOTE		= 0x0002,
263 	CONTENT_CLOSE_QUOTE		= 0x0003,
264 	CONTENT_NO_OPEN_QUOTE		= 0x0004,
265 	CONTENT_NO_CLOSE_QUOTE		= 0x0005
266 };
267 
268 enum op_counter_increment {
269 	COUNTER_INCREMENT_NAMED		= 0x0080,
270 
271 	COUNTER_INCREMENT_NONE		= 0x0000
272 };
273 
274 enum op_counter_reset {
275 	COUNTER_RESET_NAMED		= 0x0080,
276 
277 	COUNTER_RESET_NONE		= 0x0000
278 };
279 
280 enum op_cue_after {
281 	CUE_AFTER_URI			= 0x0080,
282 	CUE_AFTER_NONE			= 0x0000
283 };
284 
285 enum op_cue_before {
286 	CUE_BEFORE_URI			= 0x0080,
287 	CUE_BEFORE_NONE			= 0x0000
288 };
289 
290 enum op_cursor {
291 	CURSOR_URI			= 0x0080,
292 
293 	CURSOR_AUTO			= 0x0000,
294 	CURSOR_CROSSHAIR		= 0x0001,
295 	CURSOR_DEFAULT			= 0x0002,
296 	CURSOR_POINTER			= 0x0003,
297 	CURSOR_MOVE			= 0x0004,
298 	CURSOR_E_RESIZE			= 0x0005,
299 	CURSOR_NE_RESIZE		= 0x0006,
300 	CURSOR_NW_RESIZE		= 0x0007,
301 	CURSOR_N_RESIZE			= 0x0008,
302 	CURSOR_SE_RESIZE		= 0x0009,
303 	CURSOR_SW_RESIZE		= 0x000a,
304 	CURSOR_S_RESIZE			= 0x000b,
305 	CURSOR_W_RESIZE			= 0x000c,
306 	CURSOR_TEXT			= 0x000d,
307 	CURSOR_WAIT			= 0x000e,
308 	CURSOR_HELP			= 0x000f,
309 	CURSOR_PROGRESS			= 0x0010
310 };
311 
312 enum op_direction {
313 	DIRECTION_LTR			= 0x0000,
314 	DIRECTION_RTL			= 0x0001
315 };
316 
317 enum op_display {
318 	DISPLAY_INLINE			= 0x0000,
319 	DISPLAY_BLOCK			= 0x0001,
320 	DISPLAY_LIST_ITEM		= 0x0002,
321 	DISPLAY_RUN_IN			= 0x0003,
322 	DISPLAY_INLINE_BLOCK		= 0x0004,
323 	DISPLAY_TABLE			= 0x0005,
324 	DISPLAY_INLINE_TABLE		= 0x0006,
325 	DISPLAY_TABLE_ROW_GROUP		= 0x0007,
326 	DISPLAY_TABLE_HEADER_GROUP	= 0x0008,
327 	DISPLAY_TABLE_FOOTER_GROUP	= 0x0009,
328 	DISPLAY_TABLE_ROW		= 0x000a,
329 	DISPLAY_TABLE_COLUMN_GROUP	= 0x000b,
330 	DISPLAY_TABLE_COLUMN		= 0x000c,
331 	DISPLAY_TABLE_CELL		= 0x000d,
332 	DISPLAY_TABLE_CAPTION		= 0x000e,
333 	DISPLAY_NONE			= 0x000f,
334 	DISPLAY_FLEX			= 0x0010,
335 	DISPLAY_INLINE_FLEX		= 0x0011
336 };
337 
338 enum op_elevation {
339 	ELEVATION_ANGLE			= 0x0080,
340 	ELEVATION_BELOW			= 0x0000,
341 	ELEVATION_LEVEL			= 0x0001,
342 	ELEVATION_ABOVE			= 0x0002,
343 	ELEVATION_HIGHER		= 0x0003,
344 	ELEVATION_LOWER			= 0x0004
345 };
346 
347 enum op_empty_cells {
348 	EMPTY_CELLS_SHOW		= 0x0000,
349 	EMPTY_CELLS_HIDE		= 0x0001
350 };
351 
352 enum op_flex_basis {
353 	FLEX_BASIS_AUTO			= 0x0000,
354 	FLEX_BASIS_CONTENT		= 0x0001,
355 	FLEX_BASIS_SET			= 0x0080
356 };
357 
358 enum op_flex_direction {
359 	FLEX_DIRECTION_ROW		= 0x0000,
360 	FLEX_DIRECTION_ROW_REVERSE	= 0x0001,
361 	FLEX_DIRECTION_COLUMN		= 0x0002,
362 	FLEX_DIRECTION_COLUMN_REVERSE	= 0x0003
363 };
364 
365 enum op_flex_grow {
366 	FLEX_GROW_SET			= 0x0080
367 };
368 
369 enum op_flex_shrink {
370 	FLEX_SHRINK_SET			= 0x0080
371 };
372 
373 enum op_flex_wrap {
374 	FLEX_WRAP_NOWRAP		= 0x0000,
375 	FLEX_WRAP_WRAP			= 0x0001,
376 	FLEX_WRAP_WRAP_REVERSE		= 0x0002
377 };
378 
379 enum op_float {
380 	FLOAT_LEFT			= 0x0000,
381 	FLOAT_RIGHT			= 0x0001,
382 	FLOAT_NONE			= 0x0002
383 };
384 
385 enum op_font_family {
386 	FONT_FAMILY_STRING		= 0x0080,
387 	FONT_FAMILY_IDENT_LIST		= 0x0081,
388 
389 	FONT_FAMILY_END			= 0x0000,
390 
391 	FONT_FAMILY_SERIF		= 0x0001,
392 	FONT_FAMILY_SANS_SERIF		= 0x0002,
393 	FONT_FAMILY_CURSIVE		= 0x0003,
394 	FONT_FAMILY_FANTASY		= 0x0004,
395 	FONT_FAMILY_MONOSPACE		= 0x0005
396 };
397 
398 enum op_font_size {
399 	FONT_SIZE_DIMENSION		= 0x0080,
400 
401 	FONT_SIZE_XX_SMALL		= 0x0000,
402 	FONT_SIZE_X_SMALL		= 0x0001,
403 	FONT_SIZE_SMALL			= 0x0002,
404 	FONT_SIZE_MEDIUM		= 0x0003,
405 	FONT_SIZE_LARGE			= 0x0004,
406 	FONT_SIZE_X_LARGE		= 0x0005,
407 	FONT_SIZE_XX_LARGE		= 0x0006,
408 	FONT_SIZE_LARGER		= 0x0007,
409 	FONT_SIZE_SMALLER		= 0x0008
410 };
411 
412 enum op_font_style {
413 	FONT_STYLE_NORMAL		= 0x0000,
414 	FONT_STYLE_ITALIC		= 0x0001,
415 	FONT_STYLE_OBLIQUE		= 0x0002
416 };
417 
418 enum op_font_variant {
419 	FONT_VARIANT_NORMAL		= 0x0000,
420 	FONT_VARIANT_SMALL_CAPS		= 0x0001
421 };
422 
423 enum op_font_weight {
424 	FONT_WEIGHT_NORMAL		= 0x0000,
425 	FONT_WEIGHT_BOLD		= 0x0001,
426 	FONT_WEIGHT_BOLDER		= 0x0002,
427 	FONT_WEIGHT_LIGHTER		= 0x0003,
428 	FONT_WEIGHT_100			= 0x0004,
429 	FONT_WEIGHT_200			= 0x0005,
430 	FONT_WEIGHT_300			= 0x0006,
431 	FONT_WEIGHT_400			= 0x0007,
432 	FONT_WEIGHT_500			= 0x0008,
433 	FONT_WEIGHT_600			= 0x0009,
434 	FONT_WEIGHT_700			= 0x000a,
435 	FONT_WEIGHT_800			= 0x000b,
436 	FONT_WEIGHT_900			= 0x000c
437 };
438 
439 enum op_height {
440 	HEIGHT_SET			= 0x0080,
441 	HEIGHT_AUTO			= 0x0000
442 };
443 
444 enum op_justify_content {
445 	JUSTIFY_CONTENT_FLEX_START	= 0x0000,
446 	JUSTIFY_CONTENT_FLEX_END	= 0x0001,
447 	JUSTIFY_CONTENT_CENTER		= 0x0002,
448 	JUSTIFY_CONTENT_SPACE_BETWEEN	= 0x0003,
449 	JUSTIFY_CONTENT_SPACE_AROUND	= 0x0004,
450 	JUSTIFY_CONTENT_SPACE_EVENLY	= 0x0005
451 };
452 
453 enum op_left {
454 	LEFT_SET			= BOTTOM_SET,
455 	LEFT_AUTO			= BOTTOM_AUTO
456 };
457 
458 enum op_letter_spacing {
459 	LETTER_SPACING_SET		= 0x0080,
460 	LETTER_SPACING_NORMAL		= 0x0000
461 };
462 
463 enum op_line_height {
464 	LINE_HEIGHT_NUMBER		= 0x0080,
465 	LINE_HEIGHT_DIMENSION		= 0x0081,
466 	LINE_HEIGHT_NORMAL		= 0x0000
467 };
468 
469 enum op_list_style_image {
470 	LIST_STYLE_IMAGE_URI		= 0x0080,
471 	LIST_STYLE_IMAGE_NONE		= 0x0000
472 };
473 
474 enum op_list_style_position {
475 	LIST_STYLE_POSITION_INSIDE	= 0x0000,
476 	LIST_STYLE_POSITION_OUTSIDE	= 0x0001
477 };
478 
479 enum op_list_style_type {
480 	LIST_STYLE_TYPE_DISC		= 0x0000,
481 	LIST_STYLE_TYPE_CIRCLE		= 0x0001,
482 	LIST_STYLE_TYPE_SQUARE		= 0x0002,
483 	LIST_STYLE_TYPE_DECIMAL		= 0x0003,
484 	LIST_STYLE_TYPE_DECIMAL_LEADING_ZERO	= 0x0004,
485 	LIST_STYLE_TYPE_LOWER_ROMAN	= 0x0005,
486 	LIST_STYLE_TYPE_UPPER_ROMAN	= 0x0006,
487 	LIST_STYLE_TYPE_LOWER_GREEK	= 0x0007,
488 	LIST_STYLE_TYPE_LOWER_LATIN	= 0x0008,
489 	LIST_STYLE_TYPE_UPPER_LATIN	= 0x0009,
490 	LIST_STYLE_TYPE_ARMENIAN	= 0x000a,
491 	LIST_STYLE_TYPE_GEORGIAN	= 0x000b,
492 	LIST_STYLE_TYPE_LOWER_ALPHA	= 0x000c,
493 	LIST_STYLE_TYPE_UPPER_ALPHA	= 0x000d,
494 	LIST_STYLE_TYPE_NONE		= 0x000e
495 };
496 
497 enum op_margin {
498 	MARGIN_SET			= 0x0080,
499 	MARGIN_AUTO			= 0x0000
500 };
501 
502 enum op_max_height {
503 	MAX_HEIGHT_SET			= 0x0080,
504 	MAX_HEIGHT_NONE			= 0x0000
505 };
506 
507 enum op_max_width {
508 	MAX_WIDTH_SET			= 0x0080,
509 	MAX_WIDTH_NONE			= 0x0000
510 };
511 
512 enum op_min_height {
513 	MIN_HEIGHT_SET			= 0x0080,
514 	MIN_HEIGHT_AUTO			= 0x0000
515 };
516 
517 enum op_min_width {
518 	MIN_WIDTH_SET			= 0x0080,
519 	MIN_WIDTH_AUTO			= 0x0000
520 };
521 
522 enum op_opacity {
523 	OPACITY_SET			= 0x0080
524 };
525 
526 enum op_order {
527 	ORDER_SET			= 0x0080
528 };
529 
530 enum op_orphans {
531 	ORPHANS_SET			= 0x0080
532 };
533 
534 enum op_outline_color {
535 	OUTLINE_COLOR_TRANSPARENT	= 0x0000,
536 	OUTLINE_COLOR_CURRENT_COLOR	= 0x0001,
537 	OUTLINE_COLOR_INVERT		= 0x0002,
538 	OUTLINE_COLOR_SET		= 0x0080
539 };
540 
541 enum op_outline_style {
542 	OUTLINE_STYLE_NONE		= BORDER_STYLE_NONE,
543 	OUTLINE_STYLE_HIDDEN		= BORDER_STYLE_HIDDEN,
544 	OUTLINE_STYLE_DOTTED		= BORDER_STYLE_DOTTED,
545 	OUTLINE_STYLE_DASHED		= BORDER_STYLE_DASHED,
546 	OUTLINE_STYLE_SOLID		= BORDER_STYLE_SOLID,
547 	OUTLINE_STYLE_DOUBLE		= BORDER_STYLE_DOUBLE,
548 	OUTLINE_STYLE_GROOVE		= BORDER_STYLE_GROOVE,
549 	OUTLINE_STYLE_RIDGE		= BORDER_STYLE_RIDGE,
550 	OUTLINE_STYLE_INSET		= BORDER_STYLE_INSET,
551 	OUTLINE_STYLE_OUTSET		= BORDER_STYLE_OUTSET
552 };
553 
554 enum op_outline_width {
555 	OUTLINE_WIDTH_SET		= BORDER_WIDTH_SET,
556 	OUTLINE_WIDTH_THIN		= BORDER_WIDTH_THIN,
557 	OUTLINE_WIDTH_MEDIUM		= BORDER_WIDTH_MEDIUM,
558 	OUTLINE_WIDTH_THICK		= BORDER_WIDTH_THICK
559 };
560 
561 enum op_overflow {
562 	OVERFLOW_VISIBLE		= 0x0000,
563 	OVERFLOW_HIDDEN			= 0x0001,
564 	OVERFLOW_SCROLL			= 0x0002,
565 	OVERFLOW_AUTO			= 0x0003
566 };
567 
568 enum op_padding {
569 	PADDING_SET			= 0x0080
570 };
571 
572 enum op_page_break_after {
573 	PAGE_BREAK_AFTER_AUTO		= 0x0000,
574 	PAGE_BREAK_AFTER_ALWAYS		= 0x0001,
575 	PAGE_BREAK_AFTER_AVOID		= 0x0002,
576 	PAGE_BREAK_AFTER_LEFT		= 0x0003,
577 	PAGE_BREAK_AFTER_RIGHT		= 0x0004
578 };
579 
580 enum op_page_break_before {
581 	PAGE_BREAK_BEFORE_AUTO		= 0x0000,
582 	PAGE_BREAK_BEFORE_ALWAYS	= 0x0001,
583 	PAGE_BREAK_BEFORE_AVOID		= 0x0002,
584 	PAGE_BREAK_BEFORE_LEFT		= 0x0003,
585 	PAGE_BREAK_BEFORE_RIGHT		= 0x0004
586 };
587 
588 enum op_page_break_inside {
589 	PAGE_BREAK_INSIDE_AUTO		= 0x0000,
590 	PAGE_BREAK_INSIDE_AVOID		= 0x0001
591 };
592 
593 enum op_pause_after {
594 	PAUSE_AFTER_SET			= 0x0080
595 };
596 
597 enum op_pause_before {
598 	PAUSE_BEFORE_SET		= 0x0080
599 };
600 
601 enum op_pitch_range {
602 	PITCH_RANGE_SET			= 0x0080
603 };
604 
605 enum op_pitch {
606 	PITCH_FREQUENCY			= 0x0080,
607 
608 	PITCH_X_LOW			= 0x0000,
609 	PITCH_LOW			= 0x0001,
610 	PITCH_MEDIUM			= 0x0002,
611 	PITCH_HIGH			= 0x0003,
612 	PITCH_X_HIGH			= 0x0004
613 };
614 
615 enum op_play_during {
616 	PLAY_DURING_TYPE_MASK		= 0x009f,
617 	PLAY_DURING_URI			= 0x0080,
618 	PLAY_DURING_MIX			= (1<<6),
619 	PLAY_DURING_REPEAT		= (1<<5),
620 
621 	PLAY_DURING_AUTO		= 0x0000,
622 	PLAY_DURING_NONE		= 0x0001
623 };
624 
625 enum op_position {
626 	POSITION_STATIC			= 0x0000,
627 	POSITION_RELATIVE		= 0x0001,
628 	POSITION_ABSOLUTE		= 0x0002,
629 	POSITION_FIXED			= 0x0003
630 };
631 
632 enum op_quotes {
633 	QUOTES_STRING			= 0x0080,
634 
635 	QUOTES_NONE			= 0x0000
636 };
637 
638 enum op_richness {
639 	RICHNESS_SET			= 0x0080
640 };
641 
642 enum op_right {
643 	RIGHT_SET			= BOTTOM_SET,
644 	RIGHT_AUTO			= BOTTOM_AUTO
645 };
646 
647 enum op_speak_header {
648 	SPEAK_HEADER_ONCE		= 0x0000,
649 	SPEAK_HEADER_ALWAYS		= 0x0001
650 };
651 
652 enum op_speak_numeral {
653 	SPEAK_NUMERAL_DIGITS		= 0x0000,
654 	SPEAK_NUMERAL_CONTINUOUS	= 0x0001
655 };
656 
657 enum op_speak_punctuation {
658 	SPEAK_PUNCTUATION_CODE		= 0x0000,
659 	SPEAK_PUNCTUATION_NONE		= 0x0001
660 };
661 
662 enum op_speak {
663 	SPEAK_NORMAL			= 0x0000,
664 	SPEAK_NONE			= 0x0001,
665 	SPEAK_SPELL_OUT			= 0x0002
666 };
667 
668 enum op_speech_rate {
669 	SPEECH_RATE_SET			= 0x0080,
670 
671 	SPEECH_RATE_X_SLOW		= 0x0000,
672 	SPEECH_RATE_SLOW		= 0x0001,
673 	SPEECH_RATE_MEDIUM		= 0x0002,
674 	SPEECH_RATE_FAST		= 0x0003,
675 	SPEECH_RATE_X_FAST		= 0x0004,
676 	SPEECH_RATE_FASTER		= 0x0005,
677 	SPEECH_RATE_SLOWER		= 0x0006
678 };
679 
680 enum op_stress {
681 	STRESS_SET			= 0x0080
682 };
683 
684 enum op_table_layout {
685 	TABLE_LAYOUT_AUTO		= 0x0000,
686 	TABLE_LAYOUT_FIXED		= 0x0001
687 };
688 
689 enum op_text_align {
690 	TEXT_ALIGN_LEFT			= 0x0000,
691 	TEXT_ALIGN_RIGHT		= 0x0001,
692 	TEXT_ALIGN_CENTER		= 0x0002,
693 	TEXT_ALIGN_JUSTIFY		= 0x0003,
694 	TEXT_ALIGN_LIBCSS_LEFT		= 0x0004,
695 	TEXT_ALIGN_LIBCSS_CENTER	= 0x0005,
696 	TEXT_ALIGN_LIBCSS_RIGHT		= 0x0006
697 };
698 
699 enum op_text_decoration {
700 	TEXT_DECORATION_NONE		= 0x0000,
701 
702 	TEXT_DECORATION_BLINK		= (1<<3),
703 	TEXT_DECORATION_LINE_THROUGH	= (1<<2),
704 	TEXT_DECORATION_OVERLINE	= (1<<1),
705 	TEXT_DECORATION_UNDERLINE	= (1<<0)
706 };
707 
708 enum op_text_indent {
709 	TEXT_INDENT_SET			= 0x0080
710 };
711 
712 enum op_text_transform {
713 	TEXT_TRANSFORM_CAPITALIZE	= 0x0000,
714 	TEXT_TRANSFORM_UPPERCASE	= 0x0001,
715 	TEXT_TRANSFORM_LOWERCASE	= 0x0002,
716 	TEXT_TRANSFORM_NONE		= 0x0003
717 };
718 
719 enum op_top {
720 	TOP_SET				= BOTTOM_SET,
721 	TOP_AUTO			= BOTTOM_AUTO
722 };
723 
724 enum op_unicode_bidi {
725 	UNICODE_BIDI_NORMAL		= 0x0000,
726 	UNICODE_BIDI_EMBED		= 0x0001,
727 	UNICODE_BIDI_BIDI_OVERRIDE	= 0x0002
728 };
729 
730 enum op_vertical_align {
731 	VERTICAL_ALIGN_SET		= 0x0080,
732 
733 	VERTICAL_ALIGN_BASELINE		= 0x0000,
734 	VERTICAL_ALIGN_SUB		= 0x0001,
735 	VERTICAL_ALIGN_SUPER		= 0x0002,
736 	VERTICAL_ALIGN_TOP		= 0x0003,
737 	VERTICAL_ALIGN_TEXT_TOP		= 0x0004,
738 	VERTICAL_ALIGN_MIDDLE		= 0x0005,
739 	VERTICAL_ALIGN_BOTTOM		= 0x0006,
740 	VERTICAL_ALIGN_TEXT_BOTTOM	= 0x0007
741 };
742 
743 enum op_visibility {
744 	VISIBILITY_VISIBLE		= 0x0000,
745 	VISIBILITY_HIDDEN		= 0x0001,
746 	VISIBILITY_COLLAPSE		= 0x0002
747 };
748 
749 enum op_voice_family {
750 	VOICE_FAMILY_STRING		= 0x0080,
751 	VOICE_FAMILY_IDENT_LIST		= 0x0081,
752 
753 	VOICE_FAMILY_END		= 0x0000,
754 
755 	VOICE_FAMILY_MALE		= 0x0001,
756 	VOICE_FAMILY_FEMALE		= 0x0002,
757 	VOICE_FAMILY_CHILD		= 0x0003
758 };
759 
760 enum op_volume {
761 	VOLUME_NUMBER			= 0x0080,
762 	VOLUME_DIMENSION		= 0x0081,
763 
764 	VOLUME_SILENT			= 0x0000,
765 	VOLUME_X_SOFT			= 0x0001,
766 	VOLUME_SOFT			= 0x0002,
767 	VOLUME_MEDIUM			= 0x0003,
768 	VOLUME_LOUD			= 0x0004,
769 	VOLUME_X_LOUD			= 0x0005
770 };
771 
772 enum op_white_space {
773 	WHITE_SPACE_NORMAL		= 0x0000,
774 	WHITE_SPACE_PRE			= 0x0001,
775 	WHITE_SPACE_NOWRAP		= 0x0002,
776 	WHITE_SPACE_PRE_WRAP		= 0x0003,
777 	WHITE_SPACE_PRE_LINE		= 0x0004
778 };
779 
780 enum op_widows {
781 	WIDOWS_SET			= 0x0080
782 };
783 
784 enum op_width {
785 	WIDTH_SET			= 0x0080,
786 
787 	WIDTH_AUTO			= 0x0000
788 };
789 
790 enum op_word_spacing {
791 	WORD_SPACING_SET		= 0x0080,
792 
793 	WORD_SPACING_NORMAL		= 0x0000
794 };
795 
796 enum op_writing_mode {
797 	WRITING_MODE_HORIZONTAL_TB	= 0x0000,
798 	WRITING_MODE_VERTICAL_RL	= 0x0001,
799 	WRITING_MODE_VERTICAL_LR	= 0x0002
800 };
801 
802 enum op_z_index {
803 	Z_INDEX_SET			= 0x0080,
804 
805 	Z_INDEX_AUTO			= 0x0000
806 };
807 
808 #endif
809