8#ifndef CSS_COMPUTED_PROPSET_H_
9#define CSS_COMPUTED_PROPSET_H_
14#define ALIGN_CONTENT_INDEX 10
15#define ALIGN_CONTENT_SHIFT 20
16#define ALIGN_CONTENT_MASK 0x700000
24 *bits = (*bits & ~ALIGN_CONTENT_MASK) | (((uint32_t)type & 0x7) <<
29#undef ALIGN_CONTENT_INDEX
30#undef ALIGN_CONTENT_SHIFT
31#undef ALIGN_CONTENT_MASK
33#define ALIGN_ITEMS_INDEX 10
34#define ALIGN_ITEMS_SHIFT 23
35#define ALIGN_ITEMS_MASK 0x3800000
42 *bits = (*bits & ~ALIGN_ITEMS_MASK) | (((uint32_t)type & 0x7) <<
47#undef ALIGN_ITEMS_INDEX
48#undef ALIGN_ITEMS_SHIFT
49#undef ALIGN_ITEMS_MASK
51#define ALIGN_SELF_INDEX 10
52#define ALIGN_SELF_SHIFT 26
53#define ALIGN_SELF_MASK 0x1c000000
60 *bits = (*bits & ~ALIGN_SELF_MASK) | (((uint32_t)type & 0x7) <<
65#undef ALIGN_SELF_INDEX
66#undef ALIGN_SELF_SHIFT
69#define BACKGROUND_ATTACHMENT_INDEX 14
70#define BACKGROUND_ATTACHMENT_SHIFT 28
71#define BACKGROUND_ATTACHMENT_MASK 0x30000000
79 *bits = (*bits & ~BACKGROUND_ATTACHMENT_MASK) | (((uint32_t)type & 0x3)
84#undef BACKGROUND_ATTACHMENT_INDEX
85#undef BACKGROUND_ATTACHMENT_SHIFT
86#undef BACKGROUND_ATTACHMENT_MASK
88#define BACKGROUND_COLOR_INDEX 14
89#define BACKGROUND_COLOR_SHIFT 30
90#define BACKGROUND_COLOR_MASK 0xc0000000
98 *bits = (*bits & ~BACKGROUND_COLOR_MASK) | (((uint32_t)type & 0x3) <<
101 style->i.background_color = color;
105#undef BACKGROUND_COLOR_INDEX
106#undef BACKGROUND_COLOR_SHIFT
107#undef BACKGROUND_COLOR_MASK
109#define BACKGROUND_IMAGE_INDEX 14
110#define BACKGROUND_IMAGE_SHIFT 16
111#define BACKGROUND_IMAGE_MASK 0x10000
114 type, lwc_string *
string)
119 *bits = (*bits & ~BACKGROUND_IMAGE_MASK) | (((uint32_t)type & 0x1) <<
122 lwc_string *old_string = style->i.background_image;
124 if (
string != NULL) {
125 style->i.background_image = lwc_string_ref(
string);
127 style->i.background_image = NULL;
130 lwc_string_unref(old_string);
134#undef BACKGROUND_IMAGE_INDEX
135#undef BACKGROUND_IMAGE_SHIFT
136#undef BACKGROUND_IMAGE_MASK
138#define BACKGROUND_POSITION_INDEX 12
139#define BACKGROUND_POSITION_SHIFT 10
140#define BACKGROUND_POSITION_MASK 0x1ffc00
149 *bits = (*bits & ~BACKGROUND_POSITION_MASK) | ((((uint32_t)type & 0x1)
150 | (unit_b << 1) | (unit_a << 6)) <<
153 style->i.background_position_a = length_a;
155 style->i.background_position_b = length_b;
159#undef BACKGROUND_POSITION_INDEX
160#undef BACKGROUND_POSITION_SHIFT
161#undef BACKGROUND_POSITION_MASK
163#define BACKGROUND_REPEAT_INDEX 10
164#define BACKGROUND_REPEAT_SHIFT 29
165#define BACKGROUND_REPEAT_MASK 0xe0000000
173 *bits = (*bits & ~BACKGROUND_REPEAT_MASK) | (((uint32_t)type & 0x7) <<
178#undef BACKGROUND_REPEAT_INDEX
179#undef BACKGROUND_REPEAT_SHIFT
180#undef BACKGROUND_REPEAT_MASK
182#define BORDER_BOTTOM_COLOR_INDEX 11
183#define BORDER_BOTTOM_COLOR_SHIFT 0
184#define BORDER_BOTTOM_COLOR_MASK 0x3
192 *bits = (*bits & ~BORDER_BOTTOM_COLOR_MASK) | (((uint32_t)type & 0x3)
195 style->i.border_bottom_color = color;
199#undef BORDER_BOTTOM_COLOR_INDEX
200#undef BORDER_BOTTOM_COLOR_SHIFT
201#undef BORDER_BOTTOM_COLOR_MASK
203#define BORDER_BOTTOM_STYLE_INDEX 13
204#define BORDER_BOTTOM_STYLE_SHIFT 28
205#define BORDER_BOTTOM_STYLE_MASK 0xf0000000
213 *bits = (*bits & ~BORDER_BOTTOM_STYLE_MASK) | (((uint32_t)type & 0xf)
218#undef BORDER_BOTTOM_STYLE_INDEX
219#undef BORDER_BOTTOM_STYLE_SHIFT
220#undef BORDER_BOTTOM_STYLE_MASK
222#define BORDER_BOTTOM_WIDTH_INDEX 0
223#define BORDER_BOTTOM_WIDTH_SHIFT 0
224#define BORDER_BOTTOM_WIDTH_MASK 0xff
232 *bits = (*bits & ~BORDER_BOTTOM_WIDTH_MASK) | ((((uint32_t)type & 0x7)
235 style->i.border_bottom_width = length;
239#undef BORDER_BOTTOM_WIDTH_INDEX
240#undef BORDER_BOTTOM_WIDTH_SHIFT
241#undef BORDER_BOTTOM_WIDTH_MASK
243#define BORDER_COLLAPSE_INDEX 11
244#define BORDER_COLLAPSE_SHIFT 2
245#define BORDER_COLLAPSE_MASK 0xc
253 *bits = (*bits & ~BORDER_COLLAPSE_MASK) | (((uint32_t)type & 0x3) <<
258#undef BORDER_COLLAPSE_INDEX
259#undef BORDER_COLLAPSE_SHIFT
260#undef BORDER_COLLAPSE_MASK
262#define BORDER_LEFT_COLOR_INDEX 11
263#define BORDER_LEFT_COLOR_SHIFT 4
264#define BORDER_LEFT_COLOR_MASK 0x30
272 *bits = (*bits & ~BORDER_LEFT_COLOR_MASK) | (((uint32_t)type & 0x3) <<
275 style->i.border_left_color = color;
279#undef BORDER_LEFT_COLOR_INDEX
280#undef BORDER_LEFT_COLOR_SHIFT
281#undef BORDER_LEFT_COLOR_MASK
283#define BORDER_LEFT_STYLE_INDEX 9
284#define BORDER_LEFT_STYLE_SHIFT 3
285#define BORDER_LEFT_STYLE_MASK 0x78
293 *bits = (*bits & ~BORDER_LEFT_STYLE_MASK) | (((uint32_t)type & 0xf) <<
298#undef BORDER_LEFT_STYLE_INDEX
299#undef BORDER_LEFT_STYLE_SHIFT
300#undef BORDER_LEFT_STYLE_MASK
302#define BORDER_LEFT_WIDTH_INDEX 0
303#define BORDER_LEFT_WIDTH_SHIFT 8
304#define BORDER_LEFT_WIDTH_MASK 0xff00
312 *bits = (*bits & ~BORDER_LEFT_WIDTH_MASK) | ((((uint32_t)type & 0x7) | (
315 style->i.border_left_width = length;
319#undef BORDER_LEFT_WIDTH_INDEX
320#undef BORDER_LEFT_WIDTH_SHIFT
321#undef BORDER_LEFT_WIDTH_MASK
323#define BORDER_RIGHT_COLOR_INDEX 11
324#define BORDER_RIGHT_COLOR_SHIFT 6
325#define BORDER_RIGHT_COLOR_MASK 0xc0
333 *bits = (*bits & ~BORDER_RIGHT_COLOR_MASK) | (((uint32_t)type & 0x3) <<
336 style->i.border_right_color = color;
340#undef BORDER_RIGHT_COLOR_INDEX
341#undef BORDER_RIGHT_COLOR_SHIFT
342#undef BORDER_RIGHT_COLOR_MASK
344#define BORDER_RIGHT_STYLE_INDEX 9
345#define BORDER_RIGHT_STYLE_SHIFT 7
346#define BORDER_RIGHT_STYLE_MASK 0x780
354 *bits = (*bits & ~BORDER_RIGHT_STYLE_MASK) | (((uint32_t)type & 0xf) <<
359#undef BORDER_RIGHT_STYLE_INDEX
360#undef BORDER_RIGHT_STYLE_SHIFT
361#undef BORDER_RIGHT_STYLE_MASK
363#define BORDER_RIGHT_WIDTH_INDEX 0
364#define BORDER_RIGHT_WIDTH_SHIFT 16
365#define BORDER_RIGHT_WIDTH_MASK 0xff0000
373 *bits = (*bits & ~BORDER_RIGHT_WIDTH_MASK) | ((((uint32_t)type & 0x7) |
376 style->i.border_right_width = length;
380#undef BORDER_RIGHT_WIDTH_INDEX
381#undef BORDER_RIGHT_WIDTH_SHIFT
382#undef BORDER_RIGHT_WIDTH_MASK
384#define BORDER_SPACING_INDEX 12
385#define BORDER_SPACING_SHIFT 21
386#define BORDER_SPACING_MASK 0xffe00000
395 *bits = (*bits & ~BORDER_SPACING_MASK) | ((((uint32_t)type & 0x1) | (
398 style->i.border_spacing_a = length_a;
400 style->i.border_spacing_b = length_b;
404#undef BORDER_SPACING_INDEX
405#undef BORDER_SPACING_SHIFT
406#undef BORDER_SPACING_MASK
408#define BORDER_TOP_COLOR_INDEX 11
409#define BORDER_TOP_COLOR_SHIFT 8
410#define BORDER_TOP_COLOR_MASK 0x300
418 *bits = (*bits & ~BORDER_TOP_COLOR_MASK) | (((uint32_t)type & 0x3) <<
421 style->i.border_top_color = color;
425#undef BORDER_TOP_COLOR_INDEX
426#undef BORDER_TOP_COLOR_SHIFT
427#undef BORDER_TOP_COLOR_MASK
429#define BORDER_TOP_STYLE_INDEX 9
430#define BORDER_TOP_STYLE_SHIFT 11
431#define BORDER_TOP_STYLE_MASK 0x7800
439 *bits = (*bits & ~BORDER_TOP_STYLE_MASK) | (((uint32_t)type & 0xf) <<
444#undef BORDER_TOP_STYLE_INDEX
445#undef BORDER_TOP_STYLE_SHIFT
446#undef BORDER_TOP_STYLE_MASK
448#define BORDER_TOP_WIDTH_INDEX 0
449#define BORDER_TOP_WIDTH_SHIFT 24
450#define BORDER_TOP_WIDTH_MASK 0xff000000
458 *bits = (*bits & ~BORDER_TOP_WIDTH_MASK) | ((((uint32_t)type & 0x7) | (
461 style->i.border_top_width = length;
465#undef BORDER_TOP_WIDTH_INDEX
466#undef BORDER_TOP_WIDTH_SHIFT
467#undef BORDER_TOP_WIDTH_MASK
469#define BOTTOM_INDEX 3
470#define BOTTOM_SHIFT 11
471#define BOTTOM_MASK 0x3f800
479 *bits = (*bits & ~BOTTOM_MASK) | ((((uint32_t)type & 0x3) | (
unit <<
482 style->i.bottom = length;
490#define BOX_SIZING_INDEX 11
491#define BOX_SIZING_SHIFT 10
492#define BOX_SIZING_MASK 0xc00
499 *bits = (*bits & ~BOX_SIZING_MASK) | (((uint32_t)type & 0x3) <<
504#undef BOX_SIZING_INDEX
505#undef BOX_SIZING_SHIFT
506#undef BOX_SIZING_MASK
508#define BREAK_AFTER_INDEX 9
509#define BREAK_AFTER_SHIFT 15
510#define BREAK_AFTER_MASK 0x78000
517 *bits = (*bits & ~BREAK_AFTER_MASK) | (((uint32_t)type & 0xf) <<
522#undef BREAK_AFTER_INDEX
523#undef BREAK_AFTER_SHIFT
524#undef BREAK_AFTER_MASK
526#define BREAK_BEFORE_INDEX 9
527#define BREAK_BEFORE_SHIFT 19
528#define BREAK_BEFORE_MASK 0x780000
536 *bits = (*bits & ~BREAK_BEFORE_MASK) | (((uint32_t)type & 0xf) <<
541#undef BREAK_BEFORE_INDEX
542#undef BREAK_BEFORE_SHIFT
543#undef BREAK_BEFORE_MASK
545#define BREAK_INSIDE_INDEX 9
546#define BREAK_INSIDE_SHIFT 23
547#define BREAK_INSIDE_MASK 0x7800000
555 *bits = (*bits & ~BREAK_INSIDE_MASK) | (((uint32_t)type & 0xf) <<
560#undef BREAK_INSIDE_INDEX
561#undef BREAK_INSIDE_SHIFT
562#undef BREAK_INSIDE_MASK
564#define CAPTION_SIDE_INDEX 11
565#define CAPTION_SIDE_SHIFT 12
566#define CAPTION_SIDE_MASK 0x3000
574 *bits = (*bits & ~CAPTION_SIDE_MASK) | (((uint32_t)type & 0x3) <<
579#undef CAPTION_SIDE_INDEX
580#undef CAPTION_SIDE_SHIFT
581#undef CAPTION_SIDE_MASK
583#define CLEAR_INDEX 13
585#define CLEAR_MASK 0xe
592 *bits = (*bits & ~CLEAR_MASK) | (((uint32_t)type & 0x7) <<
CLEAR_SHIFT);
602#define CLIP_MASK 0xffffffc0
616 *bits = (*bits & ~CLIP_MASK) |
620 *bits |= (((rect->
top_auto ? 0x20 : 0) |
631 style->i.clip_a = rect->
top;
632 style->i.clip_b = rect->
right;
633 style->i.clip_c = rect->
bottom;
634 style->i.clip_d = rect->
left;
643#define COLOR_INDEX 14
644#define COLOR_SHIFT 17
645#define COLOR_MASK 0x20000
653 *bits = (*bits & ~COLOR_MASK) | (((uint32_t)type & 0x1) <<
COLOR_SHIFT);
655 style->i.color = color;
663#define COLUMN_COUNT_INDEX 11
664#define COLUMN_COUNT_SHIFT 14
665#define COLUMN_COUNT_MASK 0xc000
668 type, int32_t integer)
673 *bits = (*bits & ~COLUMN_COUNT_MASK) | (((uint32_t)type & 0x3) <<
676 style->i.column_count = integer;
680#undef COLUMN_COUNT_INDEX
681#undef COLUMN_COUNT_SHIFT
682#undef COLUMN_COUNT_MASK
684#define COLUMN_FILL_INDEX 11
685#define COLUMN_FILL_SHIFT 16
686#define COLUMN_FILL_MASK 0x30000
693 *bits = (*bits & ~COLUMN_FILL_MASK) | (((uint32_t)type & 0x3) <<
698#undef COLUMN_FILL_INDEX
699#undef COLUMN_FILL_SHIFT
700#undef COLUMN_FILL_MASK
702#define COLUMN_GAP_INDEX 3
703#define COLUMN_GAP_SHIFT 18
704#define COLUMN_GAP_MASK 0x1fc0000
712 *bits = (*bits & ~COLUMN_GAP_MASK) | ((((uint32_t)type & 0x3) | (
unit
715 style->i.column_gap = length;
719#undef COLUMN_GAP_INDEX
720#undef COLUMN_GAP_SHIFT
721#undef COLUMN_GAP_MASK
723#define COLUMN_RULE_COLOR_INDEX 11
724#define COLUMN_RULE_COLOR_SHIFT 18
725#define COLUMN_RULE_COLOR_MASK 0xc0000
733 *bits = (*bits & ~COLUMN_RULE_COLOR_MASK) | (((uint32_t)type & 0x3) <<
736 style->i.column_rule_color = color;
740#undef COLUMN_RULE_COLOR_INDEX
741#undef COLUMN_RULE_COLOR_SHIFT
742#undef COLUMN_RULE_COLOR_MASK
744#define COLUMN_RULE_STYLE_INDEX 7
745#define COLUMN_RULE_STYLE_SHIFT 0
746#define COLUMN_RULE_STYLE_MASK 0xf
754 *bits = (*bits & ~COLUMN_RULE_STYLE_MASK) | (((uint32_t)type & 0xf) <<
759#undef COLUMN_RULE_STYLE_INDEX
760#undef COLUMN_RULE_STYLE_SHIFT
761#undef COLUMN_RULE_STYLE_MASK
763#define COLUMN_RULE_WIDTH_INDEX 1
764#define COLUMN_RULE_WIDTH_SHIFT 7
765#define COLUMN_RULE_WIDTH_MASK 0x7f80
773 *bits = (*bits & ~COLUMN_RULE_WIDTH_MASK) | ((((uint32_t)type & 0x7) | (
776 style->i.column_rule_width = length;
780#undef COLUMN_RULE_WIDTH_INDEX
781#undef COLUMN_RULE_WIDTH_SHIFT
782#undef COLUMN_RULE_WIDTH_MASK
784#define COLUMN_SPAN_INDEX 11
785#define COLUMN_SPAN_SHIFT 20
786#define COLUMN_SPAN_MASK 0x300000
793 *bits = (*bits & ~COLUMN_SPAN_MASK) | (((uint32_t)type & 0x3) <<
798#undef COLUMN_SPAN_INDEX
799#undef COLUMN_SPAN_SHIFT
800#undef COLUMN_SPAN_MASK
802#define COLUMN_WIDTH_INDEX 3
803#define COLUMN_WIDTH_SHIFT 25
804#define COLUMN_WIDTH_MASK 0xfe000000
812 *bits = (*bits & ~COLUMN_WIDTH_MASK) | ((((uint32_t)type & 0x3) | (
unit
815 style->i.column_width = length;
819#undef COLUMN_WIDTH_INDEX
820#undef COLUMN_WIDTH_SHIFT
821#undef COLUMN_WIDTH_MASK
823#define CONTENT_INDEX 11
824#define CONTENT_SHIFT 22
825#define CONTENT_MASK 0xc00000
836 oldcontent = style->content;
838 *bits = (*bits & ~CONTENT_MASK) |
841 for (c = content; c != NULL &&
868 style->content = content;
871 if (oldcontent != NULL) {
896 if (oldcontent != content)
906#define COUNTER_INCREMENT_INDEX 14
907#define COUNTER_INCREMENT_SHIFT 18
908#define COUNTER_INCREMENT_MASK 0x40000
916 *bits = (*bits & ~COUNTER_INCREMENT_MASK) | (((uint32_t)type & 0x1) <<
922 for (c = counter_arr; c != NULL && c->
name != NULL; c++)
925 style->counter_increment = counter_arr;
928 if (old_counter_arr != NULL) {
929 for (c = old_counter_arr; c->
name != NULL; c++)
930 lwc_string_unref(c->
name);
932 if (old_counter_arr != counter_arr)
933 free(old_counter_arr);
938#undef COUNTER_INCREMENT_INDEX
939#undef COUNTER_INCREMENT_SHIFT
940#undef COUNTER_INCREMENT_MASK
942#define COUNTER_RESET_INDEX 14
943#define COUNTER_RESET_SHIFT 19
944#define COUNTER_RESET_MASK 0x80000
952 *bits = (*bits & ~COUNTER_RESET_MASK) | (((uint32_t)type & 0x1) <<
958 for (c = counter_arr; c != NULL && c->
name != NULL; c++)
961 style->counter_reset = counter_arr;
964 if (old_counter_arr != NULL) {
965 for (c = old_counter_arr; c->
name != NULL; c++)
966 lwc_string_unref(c->
name);
968 if (old_counter_arr != counter_arr)
969 free(old_counter_arr);
974#undef COUNTER_RESET_INDEX
975#undef COUNTER_RESET_SHIFT
976#undef COUNTER_RESET_MASK
978#define CURSOR_INDEX 9
979#define CURSOR_SHIFT 27
980#define CURSOR_MASK 0xf8000000
983 lwc_string **string_arr)
988 *bits = (*bits & ~CURSOR_MASK) | (((uint32_t)type & 0x1f) <<
991 lwc_string **old_string_arr = style->cursor;
994 for (s = string_arr; s != NULL && *s != NULL; s++)
995 *s = lwc_string_ref(*s);
997 style->cursor = string_arr;
1000 if (old_string_arr != NULL) {
1001 for (s = old_string_arr; *s != NULL; s++)
1002 lwc_string_unref(*s);
1004 if (old_string_arr != string_arr)
1005 free(old_string_arr);
1014#define DIRECTION_INDEX 11
1015#define DIRECTION_SHIFT 24
1016#define DIRECTION_MASK 0x3000000
1023 *bits = (*bits & ~DIRECTION_MASK) | (((uint32_t)type & 0x3) <<
1028#undef DIRECTION_INDEX
1029#undef DIRECTION_SHIFT
1030#undef DIRECTION_MASK
1032#define DISPLAY_INDEX 8
1033#define DISPLAY_SHIFT 3
1034#define DISPLAY_MASK 0xf8
1041 *bits = (*bits & ~DISPLAY_MASK) | (((uint32_t)type & 0x1f) <<
1050#define EMPTY_CELLS_INDEX 11
1051#define EMPTY_CELLS_SHIFT 26
1052#define EMPTY_CELLS_MASK 0xc000000
1059 *bits = (*bits & ~EMPTY_CELLS_MASK) | (((uint32_t)type & 0x3) <<
1064#undef EMPTY_CELLS_INDEX
1065#undef EMPTY_CELLS_SHIFT
1066#undef EMPTY_CELLS_MASK
1068#define FILL_OPACITY_INDEX 14
1069#define FILL_OPACITY_SHIFT 20
1070#define FILL_OPACITY_MASK 0x100000
1078 *bits = (*bits & ~FILL_OPACITY_MASK) | (((uint32_t)type & 0x1) <<
1081 style->i.fill_opacity = fixed;
1085#undef FILL_OPACITY_INDEX
1086#undef FILL_OPACITY_SHIFT
1087#undef FILL_OPACITY_MASK
1089#define FLEX_BASIS_INDEX 7
1090#define FLEX_BASIS_SHIFT 4
1091#define FLEX_BASIS_MASK 0x7f0
1099 *bits = (*bits & ~FLEX_BASIS_MASK) | ((((uint32_t)type & 0x3) | (
unit
1102 style->i.flex_basis = length;
1106#undef FLEX_BASIS_INDEX
1107#undef FLEX_BASIS_SHIFT
1108#undef FLEX_BASIS_MASK
1110#define FLEX_DIRECTION_INDEX 13
1111#define FLEX_DIRECTION_SHIFT 4
1112#define FLEX_DIRECTION_MASK 0x70
1120 *bits = (*bits & ~FLEX_DIRECTION_MASK) | (((uint32_t)type & 0x7) <<
1125#undef FLEX_DIRECTION_INDEX
1126#undef FLEX_DIRECTION_SHIFT
1127#undef FLEX_DIRECTION_MASK
1129#define FLEX_GROW_INDEX 14
1130#define FLEX_GROW_SHIFT 21
1131#define FLEX_GROW_MASK 0x200000
1139 *bits = (*bits & ~FLEX_GROW_MASK) | (((uint32_t)type & 0x1) <<
1142 style->i.flex_grow = fixed;
1146#undef FLEX_GROW_INDEX
1147#undef FLEX_GROW_SHIFT
1148#undef FLEX_GROW_MASK
1150#define FLEX_SHRINK_INDEX 14
1151#define FLEX_SHRINK_SHIFT 22
1152#define FLEX_SHRINK_MASK 0x400000
1160 *bits = (*bits & ~FLEX_SHRINK_MASK) | (((uint32_t)type & 0x1) <<
1163 style->i.flex_shrink = fixed;
1167#undef FLEX_SHRINK_INDEX
1168#undef FLEX_SHRINK_SHIFT
1169#undef FLEX_SHRINK_MASK
1171#define FLEX_WRAP_INDEX 11
1172#define FLEX_WRAP_SHIFT 28
1173#define FLEX_WRAP_MASK 0x30000000
1180 *bits = (*bits & ~FLEX_WRAP_MASK) | (((uint32_t)type & 0x3) <<
1185#undef FLEX_WRAP_INDEX
1186#undef FLEX_WRAP_SHIFT
1187#undef FLEX_WRAP_MASK
1189#define FLOAT_INDEX 11
1190#define FLOAT_SHIFT 30
1191#define FLOAT_MASK 0xc0000000
1198 *bits = (*bits & ~FLOAT_MASK) | (((uint32_t)type & 0x3) <<
FLOAT_SHIFT);
1206#define FONT_FAMILY_INDEX 13
1207#define FONT_FAMILY_SHIFT 7
1208#define FONT_FAMILY_MASK 0x380
1211 type, lwc_string **string_arr)
1216 *bits = (*bits & ~FONT_FAMILY_MASK) | (((uint32_t)type & 0x7) <<
1219 lwc_string **old_string_arr = style->font_family;
1222 for (s = string_arr; s != NULL && *s != NULL; s++)
1223 *s = lwc_string_ref(*s);
1225 style->font_family = string_arr;
1228 if (old_string_arr != NULL) {
1229 for (s = old_string_arr; *s != NULL; s++)
1230 lwc_string_unref(*s);
1232 if (old_string_arr != string_arr)
1233 free(old_string_arr);
1238#undef FONT_FAMILY_INDEX
1239#undef FONT_FAMILY_SHIFT
1240#undef FONT_FAMILY_MASK
1242#define FONT_SIZE_INDEX 1
1243#define FONT_SIZE_SHIFT 23
1244#define FONT_SIZE_MASK 0xff800000
1252 *bits = (*bits & ~FONT_SIZE_MASK) | ((((uint32_t)type & 0xf) | (
unit <<
1255 style->i.font_size = length;
1259#undef FONT_SIZE_INDEX
1260#undef FONT_SIZE_SHIFT
1261#undef FONT_SIZE_MASK
1263#define FONT_STYLE_INDEX 10
1264#define FONT_STYLE_SHIFT 0
1265#define FONT_STYLE_MASK 0x3
1272 *bits = (*bits & ~FONT_STYLE_MASK) | (((uint32_t)type & 0x3) <<
1277#undef FONT_STYLE_INDEX
1278#undef FONT_STYLE_SHIFT
1279#undef FONT_STYLE_MASK
1281#define FONT_VARIANT_INDEX 10
1282#define FONT_VARIANT_SHIFT 2
1283#define FONT_VARIANT_MASK 0xc
1291 *bits = (*bits & ~FONT_VARIANT_MASK) | (((uint32_t)type & 0x3) <<
1296#undef FONT_VARIANT_INDEX
1297#undef FONT_VARIANT_SHIFT
1298#undef FONT_VARIANT_MASK
1300#define FONT_WEIGHT_INDEX 6
1301#define FONT_WEIGHT_SHIFT 0
1302#define FONT_WEIGHT_MASK 0xf
1309 *bits = (*bits & ~FONT_WEIGHT_MASK) | (((uint32_t)type & 0xf) <<
1314#undef FONT_WEIGHT_INDEX
1315#undef FONT_WEIGHT_SHIFT
1316#undef FONT_WEIGHT_MASK
1318#define HEIGHT_INDEX 7
1319#define HEIGHT_SHIFT 11
1320#define HEIGHT_MASK 0x3f800
1328 *bits = (*bits & ~HEIGHT_MASK) | ((((uint32_t)type & 0x3) | (
unit <<
1331 style->i.height = length;
1339#define JUSTIFY_CONTENT_INDEX 13
1340#define JUSTIFY_CONTENT_SHIFT 10
1341#define JUSTIFY_CONTENT_MASK 0x1c00
1349 *bits = (*bits & ~JUSTIFY_CONTENT_MASK) | (((uint32_t)type & 0x7) <<
1354#undef JUSTIFY_CONTENT_INDEX
1355#undef JUSTIFY_CONTENT_SHIFT
1356#undef JUSTIFY_CONTENT_MASK
1359#define LEFT_SHIFT 18
1360#define LEFT_MASK 0x1fc0000
1368 *bits = (*bits & ~LEFT_MASK) | ((((uint32_t)type & 0x3) | (
unit << 2))
1371 style->i.left = length;
1379#define LETTER_SPACING_INDEX 7
1380#define LETTER_SPACING_SHIFT 25
1381#define LETTER_SPACING_MASK 0xfe000000
1389 *bits = (*bits & ~LETTER_SPACING_MASK) | ((((uint32_t)type & 0x3) | (
1392 style->i.letter_spacing = length;
1396#undef LETTER_SPACING_INDEX
1397#undef LETTER_SPACING_SHIFT
1398#undef LETTER_SPACING_MASK
1400#define LINE_HEIGHT_INDEX 6
1401#define LINE_HEIGHT_SHIFT 4
1402#define LINE_HEIGHT_MASK 0x7f0
1410 *bits = (*bits & ~LINE_HEIGHT_MASK) | ((((uint32_t)type & 0x3) | (
unit
1413 style->i.line_height = length;
1417#undef LINE_HEIGHT_INDEX
1418#undef LINE_HEIGHT_SHIFT
1419#undef LINE_HEIGHT_MASK
1421#define LIST_STYLE_IMAGE_INDEX 14
1422#define LIST_STYLE_IMAGE_SHIFT 23
1423#define LIST_STYLE_IMAGE_MASK 0x800000
1426 type, lwc_string *
string)
1431 *bits = (*bits & ~LIST_STYLE_IMAGE_MASK) | (((uint32_t)type & 0x1) <<
1434 lwc_string *old_string = style->i.list_style_image;
1436 if (
string != NULL) {
1437 style->i.list_style_image = lwc_string_ref(
string);
1439 style->i.list_style_image = NULL;
1442 lwc_string_unref(old_string);
1446#undef LIST_STYLE_IMAGE_INDEX
1447#undef LIST_STYLE_IMAGE_SHIFT
1448#undef LIST_STYLE_IMAGE_MASK
1450#define LIST_STYLE_POSITION_INDEX 10
1451#define LIST_STYLE_POSITION_SHIFT 4
1452#define LIST_STYLE_POSITION_MASK 0x30
1460 *bits = (*bits & ~LIST_STYLE_POSITION_MASK) | (((uint32_t)type & 0x3)
1465#undef LIST_STYLE_POSITION_INDEX
1466#undef LIST_STYLE_POSITION_SHIFT
1467#undef LIST_STYLE_POSITION_MASK
1469#define LIST_STYLE_TYPE_INDEX 8
1470#define LIST_STYLE_TYPE_SHIFT 8
1471#define LIST_STYLE_TYPE_MASK 0x3f00
1479 *bits = (*bits & ~LIST_STYLE_TYPE_MASK) | (((uint32_t)type & 0x3f) <<
1484#undef LIST_STYLE_TYPE_INDEX
1485#undef LIST_STYLE_TYPE_SHIFT
1486#undef LIST_STYLE_TYPE_MASK
1488#define MARGIN_BOTTOM_INDEX 6
1489#define MARGIN_BOTTOM_SHIFT 11
1490#define MARGIN_BOTTOM_MASK 0x3f800
1498 *bits = (*bits & ~MARGIN_BOTTOM_MASK) | ((((uint32_t)type & 0x3) | (
1501 style->i.margin_bottom = length;
1505#undef MARGIN_BOTTOM_INDEX
1506#undef MARGIN_BOTTOM_SHIFT
1507#undef MARGIN_BOTTOM_MASK
1509#define MARGIN_LEFT_INDEX 6
1510#define MARGIN_LEFT_SHIFT 18
1511#define MARGIN_LEFT_MASK 0x1fc0000
1519 *bits = (*bits & ~MARGIN_LEFT_MASK) | ((((uint32_t)type & 0x3) | (
unit
1522 style->i.margin_left = length;
1526#undef MARGIN_LEFT_INDEX
1527#undef MARGIN_LEFT_SHIFT
1528#undef MARGIN_LEFT_MASK
1530#define MARGIN_RIGHT_INDEX 6
1531#define MARGIN_RIGHT_SHIFT 25
1532#define MARGIN_RIGHT_MASK 0xfe000000
1540 *bits = (*bits & ~MARGIN_RIGHT_MASK) | ((((uint32_t)type & 0x3) | (
unit
1543 style->i.margin_right = length;
1547#undef MARGIN_RIGHT_INDEX
1548#undef MARGIN_RIGHT_SHIFT
1549#undef MARGIN_RIGHT_MASK
1551#define MARGIN_TOP_INDEX 5
1552#define MARGIN_TOP_SHIFT 4
1553#define MARGIN_TOP_MASK 0x7f0
1561 *bits = (*bits & ~MARGIN_TOP_MASK) | ((((uint32_t)type & 0x3) | (
unit
1564 style->i.margin_top = length;
1568#undef MARGIN_TOP_INDEX
1569#undef MARGIN_TOP_SHIFT
1570#undef MARGIN_TOP_MASK
1572#define MAX_HEIGHT_INDEX 5
1573#define MAX_HEIGHT_SHIFT 11
1574#define MAX_HEIGHT_MASK 0x3f800
1582 *bits = (*bits & ~MAX_HEIGHT_MASK) | ((((uint32_t)type & 0x3) | (
unit
1585 style->i.max_height = length;
1589#undef MAX_HEIGHT_INDEX
1590#undef MAX_HEIGHT_SHIFT
1591#undef MAX_HEIGHT_MASK
1593#define MAX_WIDTH_INDEX 5
1594#define MAX_WIDTH_SHIFT 18
1595#define MAX_WIDTH_MASK 0x1fc0000
1603 *bits = (*bits & ~MAX_WIDTH_MASK) | ((((uint32_t)type & 0x3) | (
unit <<
1606 style->i.max_width = length;
1610#undef MAX_WIDTH_INDEX
1611#undef MAX_WIDTH_SHIFT
1612#undef MAX_WIDTH_MASK
1614#define MIN_HEIGHT_INDEX 5
1615#define MIN_HEIGHT_SHIFT 25
1616#define MIN_HEIGHT_MASK 0xfe000000
1624 *bits = (*bits & ~MIN_HEIGHT_MASK) | ((((uint32_t)type & 0x3) | (
unit
1627 style->i.min_height = length;
1631#undef MIN_HEIGHT_INDEX
1632#undef MIN_HEIGHT_SHIFT
1633#undef MIN_HEIGHT_MASK
1635#define MIN_WIDTH_INDEX 4
1636#define MIN_WIDTH_SHIFT 4
1637#define MIN_WIDTH_MASK 0x7f0
1645 *bits = (*bits & ~MIN_WIDTH_MASK) | ((((uint32_t)type & 0x3) | (
unit <<
1648 style->i.min_width = length;
1652#undef MIN_WIDTH_INDEX
1653#undef MIN_WIDTH_SHIFT
1654#undef MIN_WIDTH_MASK
1656#define OPACITY_INDEX 14
1657#define OPACITY_SHIFT 24
1658#define OPACITY_MASK 0x1000000
1666 *bits = (*bits & ~OPACITY_MASK) | (((uint32_t)type & 0x1) <<
1669 style->i.opacity = fixed;
1677#define ORDER_INDEX 14
1678#define ORDER_SHIFT 25
1679#define ORDER_MASK 0x2000000
1687 *bits = (*bits & ~ORDER_MASK) | (((uint32_t)type & 0x1) <<
ORDER_SHIFT);
1689 style->i.order = integer;
1697#define ORPHANS_INDEX 14
1698#define ORPHANS_SHIFT 26
1699#define ORPHANS_MASK 0x4000000
1707 *bits = (*bits & ~ORPHANS_MASK) | (((uint32_t)type & 0x1) <<
1710 style->i.orphans = integer;
1718#define OUTLINE_COLOR_INDEX 10
1719#define OUTLINE_COLOR_SHIFT 6
1720#define OUTLINE_COLOR_MASK 0xc0
1728 *bits = (*bits & ~OUTLINE_COLOR_MASK) | (((uint32_t)type & 0x3) <<
1731 style->i.outline_color = color;
1735#undef OUTLINE_COLOR_INDEX
1736#undef OUTLINE_COLOR_SHIFT
1737#undef OUTLINE_COLOR_MASK
1739#define OUTLINE_STYLE_INDEX 5
1740#define OUTLINE_STYLE_SHIFT 0
1741#define OUTLINE_STYLE_MASK 0xf
1749 *bits = (*bits & ~OUTLINE_STYLE_MASK) | (((uint32_t)type & 0xf) <<
1754#undef OUTLINE_STYLE_INDEX
1755#undef OUTLINE_STYLE_SHIFT
1756#undef OUTLINE_STYLE_MASK
1758#define OUTLINE_WIDTH_INDEX 1
1759#define OUTLINE_WIDTH_SHIFT 15
1760#define OUTLINE_WIDTH_MASK 0x7f8000
1768 *bits = (*bits & ~OUTLINE_WIDTH_MASK) | ((((uint32_t)type & 0x7) | (
1771 style->i.outline_width = length;
1775#undef OUTLINE_WIDTH_INDEX
1776#undef OUTLINE_WIDTH_SHIFT
1777#undef OUTLINE_WIDTH_MASK
1779#define OVERFLOW_X_INDEX 13
1780#define OVERFLOW_X_SHIFT 13
1781#define OVERFLOW_X_MASK 0xe000
1788 *bits = (*bits & ~OVERFLOW_X_MASK) | (((uint32_t)type & 0x7) <<
1793#undef OVERFLOW_X_INDEX
1794#undef OVERFLOW_X_SHIFT
1795#undef OVERFLOW_X_MASK
1797#define OVERFLOW_Y_INDEX 13
1798#define OVERFLOW_Y_SHIFT 16
1799#define OVERFLOW_Y_MASK 0x70000
1806 *bits = (*bits & ~OVERFLOW_Y_MASK) | (((uint32_t)type & 0x7) <<
1811#undef OVERFLOW_Y_INDEX
1812#undef OVERFLOW_Y_SHIFT
1813#undef OVERFLOW_Y_MASK
1815#define PADDING_BOTTOM_INDEX 8
1816#define PADDING_BOTTOM_SHIFT 14
1817#define PADDING_BOTTOM_MASK 0xfc000
1825 *bits = (*bits & ~PADDING_BOTTOM_MASK) | ((((uint32_t)type & 0x1) | (
1828 style->i.padding_bottom = length;
1832#undef PADDING_BOTTOM_INDEX
1833#undef PADDING_BOTTOM_SHIFT
1834#undef PADDING_BOTTOM_MASK
1836#define PADDING_LEFT_INDEX 8
1837#define PADDING_LEFT_SHIFT 20
1838#define PADDING_LEFT_MASK 0x3f00000
1846 *bits = (*bits & ~PADDING_LEFT_MASK) | ((((uint32_t)type & 0x1) | (
unit
1849 style->i.padding_left = length;
1853#undef PADDING_LEFT_INDEX
1854#undef PADDING_LEFT_SHIFT
1855#undef PADDING_LEFT_MASK
1857#define PADDING_RIGHT_INDEX 8
1858#define PADDING_RIGHT_SHIFT 26
1859#define PADDING_RIGHT_MASK 0xfc000000
1867 *bits = (*bits & ~PADDING_RIGHT_MASK) | ((((uint32_t)type & 0x1) | (
1870 style->i.padding_right = length;
1874#undef PADDING_RIGHT_INDEX
1875#undef PADDING_RIGHT_SHIFT
1876#undef PADDING_RIGHT_MASK
1878#define PADDING_TOP_INDEX 3
1879#define PADDING_TOP_SHIFT 5
1880#define PADDING_TOP_MASK 0x7e0
1888 *bits = (*bits & ~PADDING_TOP_MASK) | ((((uint32_t)type & 0x1) | (
unit
1891 style->i.padding_top = length;
1895#undef PADDING_TOP_INDEX
1896#undef PADDING_TOP_SHIFT
1897#undef PADDING_TOP_MASK
1899#define PAGE_BREAK_AFTER_INDEX 13
1900#define PAGE_BREAK_AFTER_SHIFT 19
1901#define PAGE_BREAK_AFTER_MASK 0x380000
1909 *bits = (*bits & ~PAGE_BREAK_AFTER_MASK) | (((uint32_t)type & 0x7) <<
1914#undef PAGE_BREAK_AFTER_INDEX
1915#undef PAGE_BREAK_AFTER_SHIFT
1916#undef PAGE_BREAK_AFTER_MASK
1918#define PAGE_BREAK_BEFORE_INDEX 13
1919#define PAGE_BREAK_BEFORE_SHIFT 22
1920#define PAGE_BREAK_BEFORE_MASK 0x1c00000
1928 *bits = (*bits & ~PAGE_BREAK_BEFORE_MASK) | (((uint32_t)type & 0x7) <<
1933#undef PAGE_BREAK_BEFORE_INDEX
1934#undef PAGE_BREAK_BEFORE_SHIFT
1935#undef PAGE_BREAK_BEFORE_MASK
1937#define PAGE_BREAK_INSIDE_INDEX 10
1938#define PAGE_BREAK_INSIDE_SHIFT 8
1939#define PAGE_BREAK_INSIDE_MASK 0x300
1947 *bits = (*bits & ~PAGE_BREAK_INSIDE_MASK) | (((uint32_t)type & 0x3) <<
1952#undef PAGE_BREAK_INSIDE_INDEX
1953#undef PAGE_BREAK_INSIDE_SHIFT
1954#undef PAGE_BREAK_INSIDE_MASK
1956#define POSITION_INDEX 13
1957#define POSITION_SHIFT 25
1958#define POSITION_MASK 0xe000000
1965 *bits = (*bits & ~POSITION_MASK) | (((uint32_t)type & 0x7) <<
1970#undef POSITION_INDEX
1971#undef POSITION_SHIFT
1974#define QUOTES_INDEX 14
1975#define QUOTES_SHIFT 27
1976#define QUOTES_MASK 0x8000000
1979 lwc_string **string_arr)
1984 *bits = (*bits & ~QUOTES_MASK) | (((uint32_t)type & 0x1) <<
1987 lwc_string **old_string_arr = style->quotes;
1990 for (s = string_arr; s != NULL && *s != NULL; s++)
1991 *s = lwc_string_ref(*s);
1993 style->quotes = string_arr;
1996 if (old_string_arr != NULL) {
1997 for (s = old_string_arr; *s != NULL; s++)
1998 lwc_string_unref(*s);
2000 if (old_string_arr != string_arr)
2001 free(old_string_arr);
2010#define RIGHT_INDEX 4
2011#define RIGHT_SHIFT 11
2012#define RIGHT_MASK 0x3f800
2020 *bits = (*bits & ~RIGHT_MASK) | ((((uint32_t)type & 0x3) | (
unit << 2))
2023 style->i.right = length;
2031#define STROKE_OPACITY_INDEX 13
2032#define STROKE_OPACITY_SHIFT 0
2033#define STROKE_OPACITY_MASK 0x1
2041 *bits = (*bits & ~STROKE_OPACITY_MASK) | (((uint32_t)type & 0x1) <<
2044 style->i.stroke_opacity = fixed;
2048#undef STROKE_OPACITY_INDEX
2049#undef STROKE_OPACITY_SHIFT
2050#undef STROKE_OPACITY_MASK
2052#define TABLE_LAYOUT_INDEX 10
2053#define TABLE_LAYOUT_SHIFT 10
2054#define TABLE_LAYOUT_MASK 0xc00
2062 *bits = (*bits & ~TABLE_LAYOUT_MASK) | (((uint32_t)type & 0x3) <<
2067#undef TABLE_LAYOUT_INDEX
2068#undef TABLE_LAYOUT_SHIFT
2069#undef TABLE_LAYOUT_MASK
2071#define TEXT_ALIGN_INDEX 4
2072#define TEXT_ALIGN_SHIFT 0
2073#define TEXT_ALIGN_MASK 0xf
2080 *bits = (*bits & ~TEXT_ALIGN_MASK) | (((uint32_t)type & 0xf) <<
2085#undef TEXT_ALIGN_INDEX
2086#undef TEXT_ALIGN_SHIFT
2087#undef TEXT_ALIGN_MASK
2089#define TEXT_DECORATION_INDEX 3
2090#define TEXT_DECORATION_SHIFT 0
2091#define TEXT_DECORATION_MASK 0x1f
2099 *bits = (*bits & ~TEXT_DECORATION_MASK) | (((uint32_t)type & 0x1f) <<
2104#undef TEXT_DECORATION_INDEX
2105#undef TEXT_DECORATION_SHIFT
2106#undef TEXT_DECORATION_MASK
2108#define TEXT_INDENT_INDEX 2
2109#define TEXT_INDENT_SHIFT 0
2110#define TEXT_INDENT_MASK 0x3f
2118 *bits = (*bits & ~TEXT_INDENT_MASK) | ((((uint32_t)type & 0x1) | (
unit
2121 style->i.text_indent = length;
2125#undef TEXT_INDENT_INDEX
2126#undef TEXT_INDENT_SHIFT
2127#undef TEXT_INDENT_MASK
2129#define TEXT_TRANSFORM_INDEX 9
2130#define TEXT_TRANSFORM_SHIFT 0
2131#define TEXT_TRANSFORM_MASK 0x7
2139 *bits = (*bits & ~TEXT_TRANSFORM_MASK) | (((uint32_t)type & 0x7) <<
2144#undef TEXT_TRANSFORM_INDEX
2145#undef TEXT_TRANSFORM_SHIFT
2146#undef TEXT_TRANSFORM_MASK
2150#define TOP_MASK 0x1fc0000
2155 uint32_t *bits = &style->i.bits[
TOP_INDEX];
2158 *bits = (*bits & ~TOP_MASK) | ((((uint32_t)type & 0x3) | (
unit << 2))
2161 style->i.top = length;
2169#define UNICODE_BIDI_INDEX 10
2170#define UNICODE_BIDI_SHIFT 12
2171#define UNICODE_BIDI_MASK 0x3000
2179 *bits = (*bits & ~UNICODE_BIDI_MASK) | (((uint32_t)type & 0x3) <<
2184#undef UNICODE_BIDI_INDEX
2185#undef UNICODE_BIDI_SHIFT
2186#undef UNICODE_BIDI_MASK
2188#define VERTICAL_ALIGN_INDEX 12
2189#define VERTICAL_ALIGN_SHIFT 1
2190#define VERTICAL_ALIGN_MASK 0x3fe
2198 *bits = (*bits & ~VERTICAL_ALIGN_MASK) | ((((uint32_t)type & 0xf) | (
2201 style->i.vertical_align = length;
2205#undef VERTICAL_ALIGN_INDEX
2206#undef VERTICAL_ALIGN_SHIFT
2207#undef VERTICAL_ALIGN_MASK
2209#define VISIBILITY_INDEX 10
2210#define VISIBILITY_SHIFT 14
2211#define VISIBILITY_MASK 0xc000
2218 *bits = (*bits & ~VISIBILITY_MASK) | (((uint32_t)type & 0x3) <<
2223#undef VISIBILITY_INDEX
2224#undef VISIBILITY_SHIFT
2225#undef VISIBILITY_MASK
2227#define WHITE_SPACE_INDEX 8
2228#define WHITE_SPACE_SHIFT 0
2229#define WHITE_SPACE_MASK 0x7
2236 *bits = (*bits & ~WHITE_SPACE_MASK) | (((uint32_t)type & 0x7) <<
2241#undef WHITE_SPACE_INDEX
2242#undef WHITE_SPACE_SHIFT
2243#undef WHITE_SPACE_MASK
2245#define WIDOWS_INDEX 12
2246#define WIDOWS_SHIFT 0
2247#define WIDOWS_MASK 0x1
2255 *bits = (*bits & ~WIDOWS_MASK) | (((uint32_t)type & 0x1) <<
2258 style->i.widows = integer;
2266#define WIDTH_INDEX 4
2267#define WIDTH_SHIFT 25
2268#define WIDTH_MASK 0xfe000000
2279 lwc_string_unref(style->i.width.calc);
2286 *bits = (*bits & ~WIDTH_MASK) | ((((uint32_t)type & 0x3) | (
unit << 2))
2290 style->i.width.calc = lwc_string_ref(length.
calc);
2292 style->i.width.value = length.
value;
2301#define WORD_SPACING_INDEX 1
2302#define WORD_SPACING_SHIFT 0
2303#define WORD_SPACING_MASK 0x7f
2311 *bits = (*bits & ~WORD_SPACING_MASK) | ((((uint32_t)type & 0x3) | (
unit
2314 style->i.word_spacing = length;
2318#undef WORD_SPACING_INDEX
2319#undef WORD_SPACING_SHIFT
2320#undef WORD_SPACING_MASK
2322#define WRITING_MODE_INDEX 10
2323#define WRITING_MODE_SHIFT 16
2324#define WRITING_MODE_MASK 0x30000
2332 *bits = (*bits & ~WRITING_MODE_MASK) | (((uint32_t)type & 0x3) <<
2337#undef WRITING_MODE_INDEX
2338#undef WRITING_MODE_SHIFT
2339#undef WRITING_MODE_MASK
2341#define Z_INDEX_INDEX 10
2342#define Z_INDEX_SHIFT 18
2343#define Z_INDEX_MASK 0xc0000
2351 *bits = (*bits & ~Z_INDEX_MASK) | (((uint32_t)type & 0x3) <<
2354 style->i.z_index = integer;
#define TOP_INDEX
Definition autogenerated_propset.h:2148
#define COUNTER_RESET_INDEX
Definition autogenerated_propset.h:942
#define VISIBILITY_SHIFT
Definition autogenerated_propset.h:2210
#define STROKE_OPACITY_SHIFT
Definition autogenerated_propset.h:2032
#define PADDING_TOP_SHIFT
Definition autogenerated_propset.h:1879
#define LIST_STYLE_POSITION_SHIFT
Definition autogenerated_propset.h:1451
#define TABLE_LAYOUT_SHIFT
Definition autogenerated_propset.h:2053
#define BORDER_LEFT_COLOR_SHIFT
Definition autogenerated_propset.h:263
#define BORDER_BOTTOM_STYLE_INDEX
Definition autogenerated_propset.h:203
#define MARGIN_BOTTOM_SHIFT
Definition autogenerated_propset.h:1489
#define COUNTER_INCREMENT_SHIFT
Definition autogenerated_propset.h:907
#define LEFT_INDEX
Definition autogenerated_propset.h:1358
#define COLOR_INDEX
Definition autogenerated_propset.h:643
#define OUTLINE_WIDTH_INDEX
Definition autogenerated_propset.h:1758
#define FLEX_SHRINK_INDEX
Definition autogenerated_propset.h:1150
#define PADDING_TOP_INDEX
Definition autogenerated_propset.h:1878
#define WORD_SPACING_SHIFT
Definition autogenerated_propset.h:2302
#define BOX_SIZING_INDEX
Definition autogenerated_propset.h:490
#define TOP_SHIFT
Definition autogenerated_propset.h:2149
#define DISPLAY_INDEX
Definition autogenerated_propset.h:1032
#define BREAK_BEFORE_INDEX
Definition autogenerated_propset.h:526
#define OVERFLOW_X_SHIFT
Definition autogenerated_propset.h:1780
#define BORDER_COLLAPSE_SHIFT
Definition autogenerated_propset.h:244
#define WORD_SPACING_INDEX
Definition autogenerated_propset.h:2301
#define MIN_HEIGHT_INDEX
Definition autogenerated_propset.h:1614
#define COLUMN_WIDTH_INDEX
Definition autogenerated_propset.h:802
#define CONTENT_SHIFT
Definition autogenerated_propset.h:824
#define LIST_STYLE_IMAGE_INDEX
Definition autogenerated_propset.h:1421
#define BORDER_LEFT_WIDTH_INDEX
Definition autogenerated_propset.h:302
#define PADDING_BOTTOM_INDEX
Definition autogenerated_propset.h:1815
#define PADDING_LEFT_SHIFT
Definition autogenerated_propset.h:1837
#define BORDER_BOTTOM_WIDTH_SHIFT
Definition autogenerated_propset.h:223
#define MAX_HEIGHT_SHIFT
Definition autogenerated_propset.h:1573
#define EMPTY_CELLS_SHIFT
Definition autogenerated_propset.h:1051
#define LEFT_SHIFT
Definition autogenerated_propset.h:1359
#define BACKGROUND_REPEAT_INDEX
Definition autogenerated_propset.h:163
#define MARGIN_LEFT_SHIFT
Definition autogenerated_propset.h:1510
#define DISPLAY_SHIFT
Definition autogenerated_propset.h:1033
#define FONT_SIZE_INDEX
Definition autogenerated_propset.h:1242
#define BACKGROUND_REPEAT_SHIFT
Definition autogenerated_propset.h:164
#define WIDTH_SHIFT
Definition autogenerated_propset.h:2267
#define TEXT_ALIGN_SHIFT
Definition autogenerated_propset.h:2072
#define OVERFLOW_Y_SHIFT
Definition autogenerated_propset.h:1798
#define ALIGN_CONTENT_INDEX
Definition autogenerated_propset.h:14
#define VERTICAL_ALIGN_SHIFT
Definition autogenerated_propset.h:2189
#define WIDTH_INDEX
Definition autogenerated_propset.h:2266
#define COLUMN_SPAN_INDEX
Definition autogenerated_propset.h:784
#define WRITING_MODE_SHIFT
Definition autogenerated_propset.h:2323
#define CLEAR_SHIFT
Definition autogenerated_propset.h:584
#define FLOAT_INDEX
Definition autogenerated_propset.h:1189
#define FONT_WEIGHT_SHIFT
Definition autogenerated_propset.h:1301
#define COLUMN_RULE_COLOR_INDEX
Definition autogenerated_propset.h:723
#define MAX_WIDTH_INDEX
Definition autogenerated_propset.h:1593
#define MARGIN_BOTTOM_INDEX
Definition autogenerated_propset.h:1488
#define ALIGN_SELF_SHIFT
Definition autogenerated_propset.h:52
#define ALIGN_CONTENT_SHIFT
Definition autogenerated_propset.h:15
#define FONT_WEIGHT_INDEX
Definition autogenerated_propset.h:1300
#define UNICODE_BIDI_INDEX
Definition autogenerated_propset.h:2169
#define COLUMN_COUNT_INDEX
Definition autogenerated_propset.h:663
#define STROKE_OPACITY_INDEX
Definition autogenerated_propset.h:2031
#define BORDER_RIGHT_COLOR_INDEX
Definition autogenerated_propset.h:323
#define BORDER_RIGHT_STYLE_INDEX
Definition autogenerated_propset.h:344
#define MARGIN_LEFT_INDEX
Definition autogenerated_propset.h:1509
#define BORDER_TOP_WIDTH_INDEX
Definition autogenerated_propset.h:448
#define BORDER_SPACING_INDEX
Definition autogenerated_propset.h:384
#define DIRECTION_SHIFT
Definition autogenerated_propset.h:1015
#define PADDING_RIGHT_SHIFT
Definition autogenerated_propset.h:1858
#define FONT_STYLE_SHIFT
Definition autogenerated_propset.h:1264
#define RIGHT_SHIFT
Definition autogenerated_propset.h:2011
#define RIGHT_INDEX
Definition autogenerated_propset.h:2010
#define OUTLINE_STYLE_INDEX
Definition autogenerated_propset.h:1739
#define BORDER_TOP_WIDTH_SHIFT
Definition autogenerated_propset.h:449
#define BORDER_RIGHT_WIDTH_INDEX
Definition autogenerated_propset.h:363
#define BACKGROUND_POSITION_INDEX
Definition autogenerated_propset.h:138
#define COLUMN_RULE_STYLE_SHIFT
Definition autogenerated_propset.h:745
#define FLEX_GROW_SHIFT
Definition autogenerated_propset.h:1130
#define LINE_HEIGHT_SHIFT
Definition autogenerated_propset.h:1401
#define MARGIN_RIGHT_INDEX
Definition autogenerated_propset.h:1530
#define COLUMN_GAP_SHIFT
Definition autogenerated_propset.h:703
#define FLEX_GROW_INDEX
Definition autogenerated_propset.h:1129
#define TABLE_LAYOUT_INDEX
Definition autogenerated_propset.h:2052
#define PAGE_BREAK_INSIDE_SHIFT
Definition autogenerated_propset.h:1938
#define JUSTIFY_CONTENT_INDEX
Definition autogenerated_propset.h:1339
#define WHITE_SPACE_INDEX
Definition autogenerated_propset.h:2227
#define COUNTER_RESET_SHIFT
Definition autogenerated_propset.h:943
#define MIN_WIDTH_INDEX
Definition autogenerated_propset.h:1635
#define Z_INDEX_SHIFT
Definition autogenerated_propset.h:2342
#define BORDER_SPACING_SHIFT
Definition autogenerated_propset.h:385
#define BORDER_BOTTOM_COLOR_SHIFT
Definition autogenerated_propset.h:183
#define OUTLINE_STYLE_SHIFT
Definition autogenerated_propset.h:1740
#define PAGE_BREAK_BEFORE_INDEX
Definition autogenerated_propset.h:1918
#define WHITE_SPACE_SHIFT
Definition autogenerated_propset.h:2228
#define MARGIN_TOP_INDEX
Definition autogenerated_propset.h:1551
#define FILL_OPACITY_INDEX
Definition autogenerated_propset.h:1068
#define WIDTH_MASK
Definition autogenerated_propset.h:2268
#define COLUMN_FILL_SHIFT
Definition autogenerated_propset.h:685
#define BOTTOM_SHIFT
Definition autogenerated_propset.h:470
#define BOX_SIZING_SHIFT
Definition autogenerated_propset.h:491
#define FONT_STYLE_INDEX
Definition autogenerated_propset.h:1263
#define BACKGROUND_ATTACHMENT_SHIFT
Definition autogenerated_propset.h:70
#define ORDER_INDEX
Definition autogenerated_propset.h:1677
#define ALIGN_SELF_INDEX
Definition autogenerated_propset.h:51
#define TEXT_TRANSFORM_INDEX
Definition autogenerated_propset.h:2129
#define ORPHANS_SHIFT
Definition autogenerated_propset.h:1698
#define CAPTION_SIDE_INDEX
Definition autogenerated_propset.h:564
#define LIST_STYLE_TYPE_INDEX
Definition autogenerated_propset.h:1469
#define CLIP_SHIFT
Definition autogenerated_propset.h:601
#define FLEX_BASIS_SHIFT
Definition autogenerated_propset.h:1090
#define COLUMN_RULE_STYLE_INDEX
Definition autogenerated_propset.h:744
#define COLUMN_RULE_WIDTH_INDEX
Definition autogenerated_propset.h:763
#define CONTENT_INDEX
Definition autogenerated_propset.h:823
#define PAGE_BREAK_AFTER_SHIFT
Definition autogenerated_propset.h:1900
#define PAGE_BREAK_BEFORE_SHIFT
Definition autogenerated_propset.h:1919
#define UNICODE_BIDI_SHIFT
Definition autogenerated_propset.h:2170
#define COLOR_SHIFT
Definition autogenerated_propset.h:644
#define OPACITY_INDEX
Definition autogenerated_propset.h:1656
#define FLEX_BASIS_INDEX
Definition autogenerated_propset.h:1089
#define BORDER_BOTTOM_COLOR_INDEX
Definition autogenerated_propset.h:182
#define BORDER_TOP_STYLE_SHIFT
Definition autogenerated_propset.h:430
#define CURSOR_INDEX
Definition autogenerated_propset.h:978
#define VISIBILITY_INDEX
Definition autogenerated_propset.h:2209
#define MARGIN_TOP_SHIFT
Definition autogenerated_propset.h:1552
#define LIST_STYLE_IMAGE_SHIFT
Definition autogenerated_propset.h:1422
#define WIDOWS_INDEX
Definition autogenerated_propset.h:2245
#define CLEAR_INDEX
Definition autogenerated_propset.h:583
#define TEXT_INDENT_SHIFT
Definition autogenerated_propset.h:2109
#define LETTER_SPACING_INDEX
Definition autogenerated_propset.h:1379
#define FONT_SIZE_SHIFT
Definition autogenerated_propset.h:1243
#define TEXT_ALIGN_INDEX
Definition autogenerated_propset.h:2071
#define CURSOR_SHIFT
Definition autogenerated_propset.h:979
#define COUNTER_INCREMENT_INDEX
Definition autogenerated_propset.h:906
#define OPACITY_SHIFT
Definition autogenerated_propset.h:1657
#define DIRECTION_INDEX
Definition autogenerated_propset.h:1014
#define PADDING_BOTTOM_SHIFT
Definition autogenerated_propset.h:1816
#define LIST_STYLE_TYPE_SHIFT
Definition autogenerated_propset.h:1470
#define COLUMN_SPAN_SHIFT
Definition autogenerated_propset.h:785
#define POSITION_SHIFT
Definition autogenerated_propset.h:1957
#define FLEX_WRAP_SHIFT
Definition autogenerated_propset.h:1172
#define MAX_HEIGHT_INDEX
Definition autogenerated_propset.h:1572
#define BACKGROUND_IMAGE_INDEX
Definition autogenerated_propset.h:109
#define OUTLINE_COLOR_INDEX
Definition autogenerated_propset.h:1718
#define BREAK_INSIDE_SHIFT
Definition autogenerated_propset.h:546
#define JUSTIFY_CONTENT_SHIFT
Definition autogenerated_propset.h:1340
#define COLUMN_GAP_INDEX
Definition autogenerated_propset.h:702
#define FONT_VARIANT_SHIFT
Definition autogenerated_propset.h:1282
#define FONT_VARIANT_INDEX
Definition autogenerated_propset.h:1281
#define ALIGN_ITEMS_INDEX
Definition autogenerated_propset.h:33
#define OVERFLOW_X_INDEX
Definition autogenerated_propset.h:1779
#define BREAK_AFTER_INDEX
Definition autogenerated_propset.h:508
#define BORDER_LEFT_STYLE_SHIFT
Definition autogenerated_propset.h:284
#define OVERFLOW_Y_INDEX
Definition autogenerated_propset.h:1797
#define BORDER_BOTTOM_STYLE_SHIFT
Definition autogenerated_propset.h:204
#define VERTICAL_ALIGN_INDEX
Definition autogenerated_propset.h:2188
#define COLUMN_WIDTH_SHIFT
Definition autogenerated_propset.h:803
#define FONT_FAMILY_SHIFT
Definition autogenerated_propset.h:1207
#define BORDER_RIGHT_STYLE_SHIFT
Definition autogenerated_propset.h:345
#define WIDOWS_SHIFT
Definition autogenerated_propset.h:2246
#define OUTLINE_WIDTH_SHIFT
Definition autogenerated_propset.h:1759
#define FLEX_DIRECTION_SHIFT
Definition autogenerated_propset.h:1111
#define MIN_WIDTH_SHIFT
Definition autogenerated_propset.h:1636
#define MIN_HEIGHT_SHIFT
Definition autogenerated_propset.h:1615
#define FLOAT_SHIFT
Definition autogenerated_propset.h:1190
#define OUTLINE_COLOR_SHIFT
Definition autogenerated_propset.h:1719
#define BORDER_LEFT_COLOR_INDEX
Definition autogenerated_propset.h:262
#define BORDER_LEFT_STYLE_INDEX
Definition autogenerated_propset.h:283
#define ALIGN_ITEMS_SHIFT
Definition autogenerated_propset.h:34
#define BORDER_LEFT_WIDTH_SHIFT
Definition autogenerated_propset.h:303
#define LETTER_SPACING_SHIFT
Definition autogenerated_propset.h:1380
#define BORDER_RIGHT_COLOR_SHIFT
Definition autogenerated_propset.h:324
#define PAGE_BREAK_INSIDE_INDEX
Definition autogenerated_propset.h:1937
#define BORDER_TOP_COLOR_INDEX
Definition autogenerated_propset.h:408
#define BORDER_BOTTOM_WIDTH_INDEX
Definition autogenerated_propset.h:222
#define BREAK_INSIDE_INDEX
Definition autogenerated_propset.h:545
#define FLEX_WRAP_INDEX
Definition autogenerated_propset.h:1171
#define EMPTY_CELLS_INDEX
Definition autogenerated_propset.h:1050
#define MARGIN_RIGHT_SHIFT
Definition autogenerated_propset.h:1531
#define WRITING_MODE_INDEX
Definition autogenerated_propset.h:2322
#define LINE_HEIGHT_INDEX
Definition autogenerated_propset.h:1400
#define PADDING_RIGHT_INDEX
Definition autogenerated_propset.h:1857
#define BORDER_TOP_COLOR_SHIFT
Definition autogenerated_propset.h:409
#define COLUMN_RULE_WIDTH_SHIFT
Definition autogenerated_propset.h:764
#define BORDER_RIGHT_WIDTH_SHIFT
Definition autogenerated_propset.h:364
#define BREAK_BEFORE_SHIFT
Definition autogenerated_propset.h:527
#define FLEX_DIRECTION_INDEX
Definition autogenerated_propset.h:1110
#define FLEX_SHRINK_SHIFT
Definition autogenerated_propset.h:1151
#define TEXT_DECORATION_INDEX
Definition autogenerated_propset.h:2089
#define BORDER_TOP_STYLE_INDEX
Definition autogenerated_propset.h:429
#define ORDER_SHIFT
Definition autogenerated_propset.h:1678
#define BACKGROUND_COLOR_SHIFT
Definition autogenerated_propset.h:89
#define Z_INDEX_INDEX
Definition autogenerated_propset.h:2341
#define COLUMN_RULE_COLOR_SHIFT
Definition autogenerated_propset.h:724
#define QUOTES_INDEX
Definition autogenerated_propset.h:1974
#define QUOTES_SHIFT
Definition autogenerated_propset.h:1975
#define CAPTION_SIDE_SHIFT
Definition autogenerated_propset.h:565
#define BACKGROUND_COLOR_INDEX
Definition autogenerated_propset.h:88
#define PADDING_LEFT_INDEX
Definition autogenerated_propset.h:1836
#define HEIGHT_INDEX
Definition autogenerated_propset.h:1318
#define MAX_WIDTH_SHIFT
Definition autogenerated_propset.h:1594
#define FONT_FAMILY_INDEX
Definition autogenerated_propset.h:1206
#define ORPHANS_INDEX
Definition autogenerated_propset.h:1697
#define TEXT_DECORATION_SHIFT
Definition autogenerated_propset.h:2090
#define BOTTOM_INDEX
Definition autogenerated_propset.h:469
#define PAGE_BREAK_AFTER_INDEX
Definition autogenerated_propset.h:1899
#define TEXT_TRANSFORM_SHIFT
Definition autogenerated_propset.h:2130
#define CLIP_INDEX
Definition autogenerated_propset.h:600
#define FILL_OPACITY_SHIFT
Definition autogenerated_propset.h:1069
#define BACKGROUND_POSITION_SHIFT
Definition autogenerated_propset.h:139
#define COLUMN_COUNT_SHIFT
Definition autogenerated_propset.h:664
#define TEXT_INDENT_INDEX
Definition autogenerated_propset.h:2108
#define BREAK_AFTER_SHIFT
Definition autogenerated_propset.h:509
#define BACKGROUND_IMAGE_SHIFT
Definition autogenerated_propset.h:110
#define BORDER_COLLAPSE_INDEX
Definition autogenerated_propset.h:243
#define LIST_STYLE_POSITION_INDEX
Definition autogenerated_propset.h:1450
#define HEIGHT_SHIFT
Definition autogenerated_propset.h:1319
#define BACKGROUND_ATTACHMENT_INDEX
Definition autogenerated_propset.h:69
#define COLUMN_FILL_INDEX
Definition autogenerated_propset.h:684
#define POSITION_INDEX
Definition autogenerated_propset.h:1956
unit
Definition bytecode.h:49
css_error
Definition errors.h:18
@ CSS_OK
Definition errors.h:19
int32_t css_fixed
Definition fpmath.h:23
@ CSS_COMPUTED_CONTENT_NONE
Definition computed.h:50
@ CSS_COMPUTED_CONTENT_STRING
Definition computed.h:51
@ CSS_COMPUTED_CONTENT_COUNTERS
Definition computed.h:54
@ CSS_COMPUTED_CONTENT_COUNTER
Definition computed.h:53
@ CSS_COMPUTED_CONTENT_URI
Definition computed.h:52
@ CSS_COMPUTED_CONTENT_ATTR
Definition computed.h:55
@ CSS_WIDTH_SET
Definition properties.h:885
@ CSS_CLIP_RECT
Definition properties.h:311
css_unit tunit
Definition computed.h:38
bool right_auto
Definition computed.h:44
css_fixed left
Definition computed.h:36
css_fixed right
Definition computed.h:34
css_fixed bottom
Definition computed.h:35
bool bottom_auto
Definition computed.h:45
bool left_auto
Definition computed.h:46
css_unit lunit
Definition computed.h:41
css_unit bunit
Definition computed.h:40
css_unit runit
Definition computed.h:39
css_fixed top
Definition computed.h:33
bool top_auto
Definition computed.h:43
lwc_string * sep
Definition computed.h:74
struct css_computed_content_item::@0::@1 counter
union css_computed_content_item::@0 data
lwc_string * string
Definition computed.h:65
uint8_t type
Definition computed.h:63
lwc_string * attr
Definition computed.h:67
lwc_string * uri
Definition computed.h:66
lwc_string * name
Definition computed.h:69
struct css_computed_content_item::@0::@2 counters
lwc_string * name
Definition computed.h:28
Definition autogenerated_computed.h:282
css_unit
Definition types.h:82
@ CSS_UNIT_CALC
Definition types.h:114
uint32_t css_color
Definition types.h:79
Definition autogenerated_computed.h:13
lwc_string * calc
Definition autogenerated_computed.h:15
css_fixed value
Definition autogenerated_computed.h:14