summaryrefslogtreecommitdiff
path: root/src/select/autogenerated_propset.h
blob: f9595002896f9977b757c0e21aca9b24a5984077 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
/*
 * This file is part of LibCSS
 * Licensed under the MIT License,
 *                http://www.opensource.org/licenses/mit-license.php
 * Copyright 2017 The NetSurf Project
 */

/*
 * This file is part of LibCSS
 * Licensed under the MIT License,
 *                http://www.opensource.org/licenses/mit-license.php
 * Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org>
 */

#ifndef css_select_propset_h_
#define css_select_propset_h_

#include <string.h>

#include <libcss/computed.h>
#include "computed.h"

/** Default values are 'initial value', unless the property is inherited,
 *  in which case it is 'inherit'. */
static const css_computed_uncommon default_uncommon = {
	.i = {
		.bits = {
			(CSS_BORDER_SPACING_SET << 21) | (
					CSS_COLUMN_RULE_WIDTH_MEDIUM << 13) | (
					CSS_OUTLINE_WIDTH_MEDIUM << 5) |
					CSS_CURSOR_INHERIT,
			(CSS_COLUMN_WIDTH_AUTO << 25) | (CSS_COLUMN_GAP_NORMAL
					<< 18) | (CSS_WORD_SPACING_NORMAL <<
					11) | (CSS_LETTER_SPACING_NORMAL << 4)
					| CSS_BREAK_BEFORE_AUTO,
			(CSS_CLIP_AUTO << 6) | (CSS_BREAK_AFTER_AUTO << 2) |
					CSS_COLUMN_FILL_BALANCE,
			(CSS_COLUMN_RULE_STYLE_NONE << 28) | (
					CSS_BREAK_INSIDE_AUTO << 24) | (
					CSS_CONTENT_NORMAL << 22) | (
					CSS_COLUMN_COUNT_AUTO << 20) | (
					CSS_COLUMN_RULE_CURRENT_COLOR << 18) | (
					CSS_OUTLINE_COLOR_INVERT << 16) | (
					CSS_COLUMN_SPAN_NONE << 14) | (
					CSS_COUNTER_INCREMENT_NONE << 13) | (
					CSS_COUNTER_RESET_NONE << 12)
		},
		.border_spacing_a = 0,
		.border_spacing_b = 0,
		.clip_a = 0,
		.clip_b = 0,
		.clip_c = 0,
		.clip_d = 0,
		.column_count = 0,
		.column_gap = 0,
		.column_rule_color = 0,
		.column_rule_width = 0,
		.column_width = 0,
		.letter_spacing = 0,
		.outline_color = 0,
		.outline_width = 0,
		.word_spacing = 0
	},
	.content = NULL,
	.counter_increment = NULL,
	.counter_reset = NULL,
	.cursor = NULL,
	.next = NULL,
	.count = 0,
	.bin = UINT32_MAX
};

#define ENSURE_UNCOMMON do {						\
	if (style->i.uncommon == NULL) {				\
		style->i.uncommon = malloc(sizeof(			\
				css_computed_uncommon));		\
		if (style->i.uncommon == NULL)				\
			return CSS_NOMEM;				\
									\
		memcpy(style->i.uncommon, &default_uncommon, sizeof(	\
				css_computed_uncommon));		\
	}								\
} while(0)								\

#define BORDER_SPACING_INDEX 0
#define BORDER_SPACING_SHIFT 21
#define BORDER_SPACING_MASK 0xffe00000
#undef BORDER_SPACING_INDEX
#undef BORDER_SPACING_SHIFT
#undef BORDER_SPACING_MASK
#define BREAK_AFTER_INDEX 2
#define BREAK_AFTER_SHIFT 2
#define BREAK_AFTER_MASK 0x3c
#undef BREAK_AFTER_INDEX
#undef BREAK_AFTER_SHIFT
#undef BREAK_AFTER_MASK
#define BREAK_BEFORE_INDEX 1
#define BREAK_BEFORE_SHIFT 0
#define BREAK_BEFORE_MASK 0xf
#undef BREAK_BEFORE_INDEX
#undef BREAK_BEFORE_SHIFT
#undef BREAK_BEFORE_MASK
#define BREAK_INSIDE_INDEX 3
#define BREAK_INSIDE_SHIFT 24
#define BREAK_INSIDE_MASK 0xf000000
#undef BREAK_INSIDE_INDEX
#undef BREAK_INSIDE_SHIFT
#undef BREAK_INSIDE_MASK
#define CLIP_INDEX 2
#define CLIP_SHIFT 6
#define CLIP_MASK 0xffffffc0
#undef CLIP_INDEX
#undef CLIP_SHIFT
#undef CLIP_MASK
#define COLUMN_COUNT_INDEX 3
#define COLUMN_COUNT_SHIFT 20
#define COLUMN_COUNT_MASK 0x300000
#undef COLUMN_COUNT_INDEX
#undef COLUMN_COUNT_SHIFT
#undef COLUMN_COUNT_MASK
#define COLUMN_FILL_INDEX 2
#define COLUMN_FILL_SHIFT 0
#define COLUMN_FILL_MASK 0x3
#undef COLUMN_FILL_INDEX
#undef COLUMN_FILL_SHIFT
#undef COLUMN_FILL_MASK
#define COLUMN_GAP_INDEX 1
#define COLUMN_GAP_SHIFT 18
#define COLUMN_GAP_MASK 0x1fc0000
#undef COLUMN_GAP_INDEX
#undef COLUMN_GAP_SHIFT
#undef COLUMN_GAP_MASK
#define COLUMN_RULE_COLOR_INDEX 3
#define COLUMN_RULE_COLOR_SHIFT 18
#define COLUMN_RULE_COLOR_MASK 0xc0000
#undef COLUMN_RULE_COLOR_INDEX
#undef COLUMN_RULE_COLOR_SHIFT
#undef COLUMN_RULE_COLOR_MASK
#define COLUMN_RULE_STYLE_INDEX 3
#define COLUMN_RULE_STYLE_SHIFT 28
#define COLUMN_RULE_STYLE_MASK 0xf0000000
#undef COLUMN_RULE_STYLE_INDEX
#undef COLUMN_RULE_STYLE_SHIFT
#undef COLUMN_RULE_STYLE_MASK
#define COLUMN_RULE_WIDTH_INDEX 0
#define COLUMN_RULE_WIDTH_SHIFT 13
#define COLUMN_RULE_WIDTH_MASK 0x1fe000
#undef COLUMN_RULE_WIDTH_INDEX
#undef COLUMN_RULE_WIDTH_SHIFT
#undef COLUMN_RULE_WIDTH_MASK
#define COLUMN_SPAN_INDEX 3
#define COLUMN_SPAN_SHIFT 14
#define COLUMN_SPAN_MASK 0xc000
#undef COLUMN_SPAN_INDEX
#undef COLUMN_SPAN_SHIFT
#undef COLUMN_SPAN_MASK
#define COLUMN_WIDTH_INDEX 1
#define COLUMN_WIDTH_SHIFT 25
#define COLUMN_WIDTH_MASK 0xfe000000
#undef COLUMN_WIDTH_INDEX
#undef COLUMN_WIDTH_SHIFT
#undef COLUMN_WIDTH_MASK
#define CONTENT_INDEX 3
#define CONTENT_SHIFT 22
#define CONTENT_MASK 0xc00000
#undef CONTENT_INDEX
#undef CONTENT_SHIFT
#undef CONTENT_MASK
#define COUNTER_INCREMENT_INDEX 3
#define COUNTER_INCREMENT_SHIFT 13
#define COUNTER_INCREMENT_MASK 0x2000
#undef COUNTER_INCREMENT_INDEX
#undef COUNTER_INCREMENT_SHIFT
#undef COUNTER_INCREMENT_MASK
#define COUNTER_RESET_INDEX 3
#define COUNTER_RESET_SHIFT 12
#define COUNTER_RESET_MASK 0x1000
#undef COUNTER_RESET_INDEX
#undef COUNTER_RESET_SHIFT
#undef COUNTER_RESET_MASK
#define CURSOR_INDEX 0
#define CURSOR_SHIFT 0
#define CURSOR_MASK 0x1f
#undef CURSOR_INDEX
#undef CURSOR_SHIFT
#undef CURSOR_MASK
#define LETTER_SPACING_INDEX 1
#define LETTER_SPACING_SHIFT 4
#define LETTER_SPACING_MASK 0x7f0
#undef LETTER_SPACING_INDEX
#undef LETTER_SPACING_SHIFT
#undef LETTER_SPACING_MASK
#define OUTLINE_COLOR_INDEX 3
#define OUTLINE_COLOR_SHIFT 16
#define OUTLINE_COLOR_MASK 0x30000
#undef OUTLINE_COLOR_INDEX
#undef OUTLINE_COLOR_SHIFT
#undef OUTLINE_COLOR_MASK
#define OUTLINE_WIDTH_INDEX 0
#define OUTLINE_WIDTH_SHIFT 5
#define OUTLINE_WIDTH_MASK 0x1fe0
#undef OUTLINE_WIDTH_INDEX
#undef OUTLINE_WIDTH_SHIFT
#undef OUTLINE_WIDTH_MASK
#define WORD_SPACING_INDEX 1
#define WORD_SPACING_SHIFT 11
#define WORD_SPACING_MASK 0x3f800
#undef WORD_SPACING_INDEX
#undef WORD_SPACING_SHIFT
#undef WORD_SPACING_MASK
static const css_computed_page default_page = {
	.bits = {
		(CSS_PAGE_BREAK_BEFORE_AUTO << 29) | (CSS_PAGE_BREAK_AFTER_AUTO
				<< 26) | (CSS_PAGE_BREAK_INSIDE_AUTO << 24) | (
				CSS_WIDOWS_SET << 23) | (CSS_ORPHANS_SET << 22)
	},
	.orphans = 2 << CSS_RADIX_POINT,
	.widows = 2 << CSS_RADIX_POINT
};

#define ENSURE_PAGE do {						\
	if (style->page == NULL) {					\
		style->page = malloc(sizeof(css_computed_page));	\
		if (style->page == NULL)				\
			return CSS_NOMEM;				\
									\
		memcpy(style->page, &default_page, sizeof(		\
				css_computed_page));			\
	}								\
} while(0)								\

#define ORPHANS_INDEX 0
#define ORPHANS_SHIFT 22
#define ORPHANS_MASK 0x400000
#undef ORPHANS_INDEX
#undef ORPHANS_SHIFT
#undef ORPHANS_MASK
#define PAGE_BREAK_AFTER_INDEX 0
#define PAGE_BREAK_AFTER_SHIFT 26
#define PAGE_BREAK_AFTER_MASK 0x1c000000
#undef PAGE_BREAK_AFTER_INDEX
#undef PAGE_BREAK_AFTER_SHIFT
#undef PAGE_BREAK_AFTER_MASK
#define PAGE_BREAK_BEFORE_INDEX 0
#define PAGE_BREAK_BEFORE_SHIFT 29
#define PAGE_BREAK_BEFORE_MASK 0xe0000000
#undef PAGE_BREAK_BEFORE_INDEX
#undef PAGE_BREAK_BEFORE_SHIFT
#undef PAGE_BREAK_BEFORE_MASK
#define PAGE_BREAK_INSIDE_INDEX 0
#define PAGE_BREAK_INSIDE_SHIFT 24
#define PAGE_BREAK_INSIDE_MASK 0x3000000
#undef PAGE_BREAK_INSIDE_INDEX
#undef PAGE_BREAK_INSIDE_SHIFT
#undef PAGE_BREAK_INSIDE_MASK
#define WIDOWS_INDEX 0
#define WIDOWS_SHIFT 23
#define WIDOWS_MASK 0x800000
#undef WIDOWS_INDEX
#undef WIDOWS_SHIFT
#undef WIDOWS_MASK
#define ALIGN_CONTENT_INDEX 6
#define ALIGN_CONTENT_SHIFT 3
#define ALIGN_CONTENT_MASK 0x38
#undef ALIGN_CONTENT_INDEX
#undef ALIGN_CONTENT_SHIFT
#undef ALIGN_CONTENT_MASK
#define ALIGN_ITEMS_INDEX 9
#define ALIGN_ITEMS_SHIFT 23
#define ALIGN_ITEMS_MASK 0x3800000
#undef ALIGN_ITEMS_INDEX
#undef ALIGN_ITEMS_SHIFT
#undef ALIGN_ITEMS_MASK
#define ALIGN_SELF_INDEX 9
#define ALIGN_SELF_SHIFT 14
#define ALIGN_SELF_MASK 0x1c000
#undef ALIGN_SELF_INDEX
#undef ALIGN_SELF_SHIFT
#undef ALIGN_SELF_MASK
#define BACKGROUND_ATTACHMENT_INDEX 8
#define BACKGROUND_ATTACHMENT_SHIFT 24
#define BACKGROUND_ATTACHMENT_MASK 0x3000000
#undef BACKGROUND_ATTACHMENT_INDEX
#undef BACKGROUND_ATTACHMENT_SHIFT
#undef BACKGROUND_ATTACHMENT_MASK
#define BACKGROUND_COLOR_INDEX 8
#define BACKGROUND_COLOR_SHIFT 10
#define BACKGROUND_COLOR_MASK 0xc00
#undef BACKGROUND_COLOR_INDEX
#undef BACKGROUND_COLOR_SHIFT
#undef BACKGROUND_COLOR_MASK
#define BACKGROUND_IMAGE_INDEX 10
#define BACKGROUND_IMAGE_SHIFT 28
#define BACKGROUND_IMAGE_MASK 0x10000000
#undef BACKGROUND_IMAGE_INDEX
#undef BACKGROUND_IMAGE_SHIFT
#undef BACKGROUND_IMAGE_MASK
#define BACKGROUND_POSITION_INDEX 5
#define BACKGROUND_POSITION_SHIFT 21
#define BACKGROUND_POSITION_MASK 0xffe00000
#undef BACKGROUND_POSITION_INDEX
#undef BACKGROUND_POSITION_SHIFT
#undef BACKGROUND_POSITION_MASK
#define BACKGROUND_REPEAT_INDEX 9
#define BACKGROUND_REPEAT_SHIFT 26
#define BACKGROUND_REPEAT_MASK 0x1c000000
#undef BACKGROUND_REPEAT_INDEX
#undef BACKGROUND_REPEAT_SHIFT
#undef BACKGROUND_REPEAT_MASK
#define BORDER_BOTTOM_COLOR_INDEX 8
#define BORDER_BOTTOM_COLOR_SHIFT 2
#define BORDER_BOTTOM_COLOR_MASK 0xc
#undef BORDER_BOTTOM_COLOR_INDEX
#undef BORDER_BOTTOM_COLOR_SHIFT
#undef BORDER_BOTTOM_COLOR_MASK
#define BORDER_BOTTOM_STYLE_INDEX 6
#define BORDER_BOTTOM_STYLE_SHIFT 14
#define BORDER_BOTTOM_STYLE_MASK 0x3c000
#undef BORDER_BOTTOM_STYLE_INDEX
#undef BORDER_BOTTOM_STYLE_SHIFT
#undef BORDER_BOTTOM_STYLE_MASK
#define BORDER_BOTTOM_WIDTH_INDEX 0
#define BORDER_BOTTOM_WIDTH_SHIFT 8
#define BORDER_BOTTOM_WIDTH_MASK 0xff00
#undef BORDER_BOTTOM_WIDTH_INDEX
#undef BORDER_BOTTOM_WIDTH_SHIFT
#undef BORDER_BOTTOM_WIDTH_MASK
#define BORDER_COLLAPSE_INDEX 8
#define BORDER_COLLAPSE_SHIFT 4
#define BORDER_COLLAPSE_MASK 0x30
#undef BORDER_COLLAPSE_INDEX
#undef BORDER_COLLAPSE_SHIFT
#undef BORDER_COLLAPSE_MASK
#define BORDER_LEFT_COLOR_INDEX 10
#define BORDER_LEFT_COLOR_SHIFT 30
#define BORDER_LEFT_COLOR_MASK 0xc0000000
#undef BORDER_LEFT_COLOR_INDEX
#undef BORDER_LEFT_COLOR_SHIFT
#undef BORDER_LEFT_COLOR_MASK
#define BORDER_LEFT_STYLE_INDEX 4
#define BORDER_LEFT_STYLE_SHIFT 0
#define BORDER_LEFT_STYLE_MASK 0xf
#undef BORDER_LEFT_STYLE_INDEX
#undef BORDER_LEFT_STYLE_SHIFT
#undef BORDER_LEFT_STYLE_MASK
#define BORDER_LEFT_WIDTH_INDEX 0
#define BORDER_LEFT_WIDTH_SHIFT 0
#define BORDER_LEFT_WIDTH_MASK 0xff
#undef BORDER_LEFT_WIDTH_INDEX
#undef BORDER_LEFT_WIDTH_SHIFT
#undef BORDER_LEFT_WIDTH_MASK
#define BORDER_RIGHT_COLOR_INDEX 8
#define BORDER_RIGHT_COLOR_SHIFT 26
#define BORDER_RIGHT_COLOR_MASK 0xc000000
#undef BORDER_RIGHT_COLOR_INDEX
#undef BORDER_RIGHT_COLOR_SHIFT
#undef BORDER_RIGHT_COLOR_MASK
#define BORDER_RIGHT_STYLE_INDEX 3
#define BORDER_RIGHT_STYLE_SHIFT 0
#define BORDER_RIGHT_STYLE_MASK 0xf
#undef BORDER_RIGHT_STYLE_INDEX
#undef BORDER_RIGHT_STYLE_SHIFT
#undef BORDER_RIGHT_STYLE_MASK
#define BORDER_RIGHT_WIDTH_INDEX 0
#define BORDER_RIGHT_WIDTH_SHIFT 24
#define BORDER_RIGHT_WIDTH_MASK 0xff000000
#undef BORDER_RIGHT_WIDTH_INDEX
#undef BORDER_RIGHT_WIDTH_SHIFT
#undef BORDER_RIGHT_WIDTH_MASK
#define BORDER_TOP_COLOR_INDEX 8
#define BORDER_TOP_COLOR_SHIFT 14
#define BORDER_TOP_COLOR_MASK 0xc000
#undef BORDER_TOP_COLOR_INDEX
#undef BORDER_TOP_COLOR_SHIFT
#undef BORDER_TOP_COLOR_MASK
#define BORDER_TOP_STYLE_INDEX 2
#define BORDER_TOP_STYLE_SHIFT 0
#define BORDER_TOP_STYLE_MASK 0xf
#undef BORDER_TOP_STYLE_INDEX
#undef BORDER_TOP_STYLE_SHIFT
#undef BORDER_TOP_STYLE_MASK
#define BORDER_TOP_WIDTH_INDEX 0
#define BORDER_TOP_WIDTH_SHIFT 16
#define BORDER_TOP_WIDTH_MASK 0xff0000
#undef BORDER_TOP_WIDTH_INDEX
#undef BORDER_TOP_WIDTH_SHIFT
#undef BORDER_TOP_WIDTH_MASK
#define BOTTOM_INDEX 2
#define BOTTOM_SHIFT 18
#define BOTTOM_MASK 0x1fc0000
#undef BOTTOM_INDEX
#undef BOTTOM_SHIFT
#undef BOTTOM_MASK
#define BOX_SIZING_INDEX 8
#define BOX_SIZING_SHIFT 18
#define BOX_SIZING_MASK 0xc0000
#undef BOX_SIZING_INDEX
#undef BOX_SIZING_SHIFT
#undef BOX_SIZING_MASK
#define CAPTION_SIDE_INDEX 8
#define CAPTION_SIDE_SHIFT 28
#define CAPTION_SIDE_MASK 0x30000000
#undef CAPTION_SIDE_INDEX
#undef CAPTION_SIDE_SHIFT
#undef CAPTION_SIDE_MASK
#define CLEAR_INDEX 9
#define CLEAR_SHIFT 17
#define CLEAR_MASK 0xe0000
#undef CLEAR_INDEX
#undef CLEAR_SHIFT
#undef CLEAR_MASK
#define COLOR_INDEX 9
#define COLOR_SHIFT 0
#define COLOR_MASK 0x1
#undef COLOR_INDEX
#undef COLOR_SHIFT
#undef COLOR_MASK
#define DIRECTION_INDEX 8
#define DIRECTION_SHIFT 6
#define DIRECTION_MASK 0xc0
#undef DIRECTION_INDEX
#undef DIRECTION_SHIFT
#undef DIRECTION_MASK
#define DISPLAY_INDEX 6
#define DISPLAY_SHIFT 22
#define DISPLAY_MASK 0x7c00000
#undef DISPLAY_INDEX
#undef DISPLAY_SHIFT
#undef DISPLAY_MASK
#define EMPTY_CELLS_INDEX 8
#define EMPTY_CELLS_SHIFT 16
#define EMPTY_CELLS_MASK 0x30000
#undef EMPTY_CELLS_INDEX
#undef EMPTY_CELLS_SHIFT
#undef EMPTY_CELLS_MASK
#define FLEX_BASIS_INDEX 3
#define FLEX_BASIS_SHIFT 25
#define FLEX_BASIS_MASK 0xfe000000
#undef FLEX_BASIS_INDEX
#undef FLEX_BASIS_SHIFT
#undef FLEX_BASIS_MASK
#define FLEX_DIRECTION_INDEX 9
#define FLEX_DIRECTION_SHIFT 29
#define FLEX_DIRECTION_MASK 0xe0000000
#undef FLEX_DIRECTION_INDEX
#undef FLEX_DIRECTION_SHIFT
#undef FLEX_DIRECTION_MASK
#define FLEX_GROW_INDEX 10
#define FLEX_GROW_SHIFT 26
#define FLEX_GROW_MASK 0x4000000
#undef FLEX_GROW_INDEX
#undef FLEX_GROW_SHIFT
#undef FLEX_GROW_MASK
#define FLEX_SHRINK_INDEX 10
#define FLEX_SHRINK_SHIFT 29
#define FLEX_SHRINK_MASK 0x20000000
#undef FLEX_SHRINK_INDEX
#undef FLEX_SHRINK_SHIFT
#undef FLEX_SHRINK_MASK
#define FLEX_WRAP_INDEX 9
#define FLEX_WRAP_SHIFT 1
#define FLEX_WRAP_MASK 0x6
#undef FLEX_WRAP_INDEX
#undef FLEX_WRAP_SHIFT
#undef FLEX_WRAP_MASK
#define FLOAT_INDEX 8
#define FLOAT_SHIFT 22
#define FLOAT_MASK 0xc00000
#undef FLOAT_INDEX
#undef FLOAT_SHIFT
#undef FLOAT_MASK
#define FONT_FAMILY_INDEX 6
#define FONT_FAMILY_SHIFT 0
#define FONT_FAMILY_MASK 0x7
#undef FONT_FAMILY_INDEX
#undef FONT_FAMILY_SHIFT
#undef FONT_FAMILY_MASK
#define FONT_SIZE_INDEX 5
#define FONT_SIZE_SHIFT 12
#define FONT_SIZE_MASK 0x1ff000
#undef FONT_SIZE_INDEX
#undef FONT_SIZE_SHIFT
#undef FONT_SIZE_MASK
#define FONT_STYLE_INDEX 8
#define FONT_STYLE_SHIFT 8
#define FONT_STYLE_MASK 0x300
#undef FONT_STYLE_INDEX
#undef FONT_STYLE_SHIFT
#undef FONT_STYLE_MASK
#define FONT_VARIANT_INDEX 7
#define FONT_VARIANT_SHIFT 0
#define FONT_VARIANT_MASK 0x3
#undef FONT_VARIANT_INDEX
#undef FONT_VARIANT_SHIFT
#undef FONT_VARIANT_MASK
#define FONT_WEIGHT_INDEX 1
#define FONT_WEIGHT_SHIFT 0
#define FONT_WEIGHT_MASK 0xf
#undef FONT_WEIGHT_INDEX
#undef FONT_WEIGHT_SHIFT
#undef FONT_WEIGHT_MASK
#define HEIGHT_INDEX 1
#define HEIGHT_SHIFT 18
#define HEIGHT_MASK 0x1fc0000
#undef HEIGHT_INDEX
#undef HEIGHT_SHIFT
#undef HEIGHT_MASK
#define JUSTIFY_CONTENT_INDEX 9
#define JUSTIFY_CONTENT_SHIFT 5
#define JUSTIFY_CONTENT_MASK 0xe0
#undef JUSTIFY_CONTENT_INDEX
#undef JUSTIFY_CONTENT_SHIFT
#undef JUSTIFY_CONTENT_MASK
#define LEFT_INDEX 4
#define LEFT_SHIFT 25
#define LEFT_MASK 0xfe000000
#undef LEFT_INDEX
#undef LEFT_SHIFT
#undef LEFT_MASK
#define LINE_HEIGHT_INDEX 4
#define LINE_HEIGHT_SHIFT 11
#define LINE_HEIGHT_MASK 0x3f800
#undef LINE_HEIGHT_INDEX
#undef LINE_HEIGHT_SHIFT
#undef LINE_HEIGHT_MASK
#define LIST_STYLE_IMAGE_INDEX 10
#define LIST_STYLE_IMAGE_SHIFT 25
#define LIST_STYLE_IMAGE_MASK 0x2000000
#undef LIST_STYLE_IMAGE_INDEX
#undef LIST_STYLE_IMAGE_SHIFT
#undef LIST_STYLE_IMAGE_MASK
#define LIST_STYLE_POSITION_INDEX 8
#define LIST_STYLE_POSITION_SHIFT 0
#define LIST_STYLE_POSITION_MASK 0x3
#undef LIST_STYLE_POSITION_INDEX
#undef LIST_STYLE_POSITION_SHIFT
#undef LIST_STYLE_POSITION_MASK
#define LIST_STYLE_TYPE_INDEX 6
#define LIST_STYLE_TYPE_SHIFT 18
#define LIST_STYLE_TYPE_MASK 0x3c0000
#undef LIST_STYLE_TYPE_INDEX
#undef LIST_STYLE_TYPE_SHIFT
#undef LIST_STYLE_TYPE_MASK
#define MARGIN_BOTTOM_INDEX 2
#define MARGIN_BOTTOM_SHIFT 4
#define MARGIN_BOTTOM_MASK 0x7f0
#undef MARGIN_BOTTOM_INDEX
#undef MARGIN_BOTTOM_SHIFT
#undef MARGIN_BOTTOM_MASK
#define MARGIN_LEFT_INDEX 4
#define MARGIN_LEFT_SHIFT 4
#define MARGIN_LEFT_MASK 0x7f0
#undef MARGIN_LEFT_INDEX
#undef MARGIN_LEFT_SHIFT
#undef MARGIN_LEFT_MASK
#define MARGIN_RIGHT_INDEX 4
#define MARGIN_RIGHT_SHIFT 18
#define MARGIN_RIGHT_MASK 0x1fc0000
#undef MARGIN_RIGHT_INDEX
#undef MARGIN_RIGHT_SHIFT
#undef MARGIN_RIGHT_MASK
#define MARGIN_TOP_INDEX 2
#define MARGIN_TOP_SHIFT 11
#define MARGIN_TOP_MASK 0x3f800
#undef MARGIN_TOP_INDEX
#undef MARGIN_TOP_SHIFT
#undef MARGIN_TOP_MASK
#define MAX_HEIGHT_INDEX 3
#define MAX_HEIGHT_SHIFT 11
#define MAX_HEIGHT_MASK 0x3f800
#undef MAX_HEIGHT_INDEX
#undef MAX_HEIGHT_SHIFT
#undef MAX_HEIGHT_MASK
#define MAX_WIDTH_INDEX 1
#define MAX_WIDTH_SHIFT 11
#define MAX_WIDTH_MASK 0x3f800
#undef MAX_WIDTH_INDEX
#undef MAX_WIDTH_SHIFT
#undef MAX_WIDTH_MASK
#define MIN_HEIGHT_INDEX 1
#define MIN_HEIGHT_SHIFT 4
#define MIN_HEIGHT_MASK 0x7f0
#undef MIN_HEIGHT_INDEX
#undef MIN_HEIGHT_SHIFT
#undef MIN_HEIGHT_MASK
#define MIN_WIDTH_INDEX 2
#define MIN_WIDTH_SHIFT 25
#define MIN_WIDTH_MASK 0xfe000000
#undef MIN_WIDTH_INDEX
#undef MIN_WIDTH_SHIFT
#undef MIN_WIDTH_MASK
#define OPACITY_INDEX 10
#define OPACITY_SHIFT 24
#define OPACITY_MASK 0x1000000
#undef OPACITY_INDEX
#undef OPACITY_SHIFT
#undef OPACITY_MASK
#define ORDER_INDEX 10
#define ORDER_SHIFT 23
#define ORDER_MASK 0x800000
#undef ORDER_INDEX
#undef ORDER_SHIFT
#undef ORDER_MASK
#define OUTLINE_STYLE_INDEX 6
#define OUTLINE_STYLE_SHIFT 10
#define OUTLINE_STYLE_MASK 0x3c00
#undef OUTLINE_STYLE_INDEX
#undef OUTLINE_STYLE_SHIFT
#undef OUTLINE_STYLE_MASK
#define OVERFLOW_INDEX 9
#define OVERFLOW_SHIFT 8
#define OVERFLOW_MASK 0x700
#undef OVERFLOW_INDEX
#undef OVERFLOW_SHIFT
#undef OVERFLOW_MASK
#define PADDING_BOTTOM_INDEX 7
#define PADDING_BOTTOM_SHIFT 26
#define PADDING_BOTTOM_MASK 0xfc000000
#undef PADDING_BOTTOM_INDEX
#undef PADDING_BOTTOM_SHIFT
#undef PADDING_BOTTOM_MASK
#define PADDING_LEFT_INDEX 7
#define PADDING_LEFT_SHIFT 14
#define PADDING_LEFT_MASK 0xfc000
#undef PADDING_LEFT_INDEX
#undef PADDING_LEFT_SHIFT
#undef PADDING_LEFT_MASK
#define PADDING_RIGHT_INDEX 7
#define PADDING_RIGHT_SHIFT 20
#define PADDING_RIGHT_MASK 0x3f00000
#undef PADDING_RIGHT_INDEX
#undef PADDING_RIGHT_SHIFT
#undef PADDING_RIGHT_MASK
#define PADDING_TOP_INDEX 7
#define PADDING_TOP_SHIFT 2
#define PADDING_TOP_MASK 0xfc
#undef PADDING_TOP_INDEX
#undef PADDING_TOP_SHIFT
#undef PADDING_TOP_MASK
#define POSITION_INDEX 5
#define POSITION_SHIFT 0
#define POSITION_MASK 0x7
#undef POSITION_INDEX
#undef POSITION_SHIFT
#undef POSITION_MASK
#define QUOTES_INDEX 10
#define QUOTES_SHIFT 27
#define QUOTES_MASK 0x8000000
#undef QUOTES_INDEX
#undef QUOTES_SHIFT
#undef QUOTES_MASK
#define RIGHT_INDEX 3
#define RIGHT_SHIFT 4
#define RIGHT_MASK 0x7f0
#undef RIGHT_INDEX
#undef RIGHT_SHIFT
#undef RIGHT_MASK
#define TABLE_LAYOUT_INDEX 8
#define TABLE_LAYOUT_SHIFT 30
#define TABLE_LAYOUT_MASK 0xc0000000
#undef TABLE_LAYOUT_INDEX
#undef TABLE_LAYOUT_SHIFT
#undef TABLE_LAYOUT_MASK
#define TEXT_ALIGN_INDEX 6
#define TEXT_ALIGN_SHIFT 6
#define TEXT_ALIGN_MASK 0x3c0
#undef TEXT_ALIGN_INDEX
#undef TEXT_ALIGN_SHIFT
#undef TEXT_ALIGN_MASK
#define TEXT_DECORATION_INDEX 6
#define TEXT_DECORATION_SHIFT 27
#define TEXT_DECORATION_MASK 0xf8000000
#undef TEXT_DECORATION_INDEX
#undef TEXT_DECORATION_SHIFT
#undef TEXT_DECORATION_MASK
#define TEXT_INDENT_INDEX 7
#define TEXT_INDENT_SHIFT 8
#define TEXT_INDENT_MASK 0x3f00
#undef TEXT_INDENT_INDEX
#undef TEXT_INDENT_SHIFT
#undef TEXT_INDENT_MASK
#define TEXT_TRANSFORM_INDEX 9
#define TEXT_TRANSFORM_SHIFT 20
#define TEXT_TRANSFORM_MASK 0x700000
#undef TEXT_TRANSFORM_INDEX
#undef TEXT_TRANSFORM_SHIFT
#undef TEXT_TRANSFORM_MASK
#define TOP_INDEX 1
#define TOP_SHIFT 25
#define TOP_MASK 0xfe000000
#undef TOP_INDEX
#undef TOP_SHIFT
#undef TOP_MASK
#define UNICODE_BIDI_INDEX 9
#define UNICODE_BIDI_SHIFT 3
#define UNICODE_BIDI_MASK 0x18
#undef UNICODE_BIDI_INDEX
#undef UNICODE_BIDI_SHIFT
#undef UNICODE_BIDI_MASK
#define VERTICAL_ALIGN_INDEX 5
#define VERTICAL_ALIGN_SHIFT 3
#define VERTICAL_ALIGN_MASK 0xff8
#undef VERTICAL_ALIGN_INDEX
#undef VERTICAL_ALIGN_SHIFT
#undef VERTICAL_ALIGN_MASK
#define VISIBILITY_INDEX 8
#define VISIBILITY_SHIFT 20
#define VISIBILITY_MASK 0x300000
#undef VISIBILITY_INDEX
#undef VISIBILITY_SHIFT
#undef VISIBILITY_MASK
#define WHITE_SPACE_INDEX 9
#define WHITE_SPACE_SHIFT 11
#define WHITE_SPACE_MASK 0x3800
#undef WHITE_SPACE_INDEX
#undef WHITE_SPACE_SHIFT
#undef WHITE_SPACE_MASK
#define WIDTH_INDEX 3
#define WIDTH_SHIFT 18
#define WIDTH_MASK 0x1fc0000
#undef WIDTH_INDEX
#undef WIDTH_SHIFT
#undef WIDTH_MASK
#define Z_INDEX_INDEX 8
#define Z_INDEX_SHIFT 12
#define Z_INDEX_MASK 0x3000
#undef Z_INDEX_INDEX
#undef Z_INDEX_SHIFT
#undef Z_INDEX_MASK

#endif