15static void dump_sheet(
css_stylesheet *sheet,
char *buf,
size_t *len);
17 size_t *buflen, uint32_t depth);
18static void dump_rule_charset(
css_rule_charset *s,
char **buf,
size_t *buflen);
19static void dump_rule_import(
css_rule_import *s,
char **buf,
size_t *buflen);
20static void dump_rule_media(
css_rule_media *s,
char **buf,
size_t *buflen);
21static void dump_rule_page(
css_rule_page *s,
char **buf,
size_t *buflen);
23 char **buf,
size_t *buflen);
24static void dump_selector_list(
css_selector *list,
char **ptr);
25static void dump_selector(
css_selector *selector,
char **ptr);
27static void dump_bytecode(
css_style *style,
char **ptr, uint32_t depth);
28static void dump_string(lwc_string *
string,
char **ptr);
29static void dump_font_face(
css_font_face *font_face,
char**ptr);
35 for (rule = sheet->
rule_list; rule != NULL; rule = rule->
next) {
63 int written = sprintf(buf,
"Unhandled rule type %d\n",
81 for (i = 0; i < depth; i++)
86 dump_selector_list(s->
selectors[i], &ptr);
87 if (i != (uint32_t) (s->
base.
items - 1)) {
95 dump_bytecode(s->
style, &ptr, depth + 1);
97 *buflen -= ptr - *buf;
105 ptr += sprintf(ptr,
"| @charset(");
110 *buflen -= ptr - *buf;
118 ptr += sprintf(ptr,
"| @import url(\"%.*s\")",
119 (
int) lwc_string_length(s->
url), lwc_string_data(s->
url));
125 *buflen -= ptr - *buf;
129void dump_rule_media(
css_rule_media *s,
char **buf,
size_t *buflen)
134 ptr += sprintf(ptr,
"| @media %s%03" PRIx64,
143 size_t len = *buflen - (ptr - *buf);
148 *buflen -= ptr - *buf;
152void dump_rule_page(
css_rule_page *s,
char **buf,
size_t *buflen)
156 ptr += sprintf(ptr,
"| @page ");
159 dump_selector_list(s->
selector, &ptr);
163 if (s->
style != NULL)
164 dump_bytecode(s->
style, &ptr, 2);
166 *buflen -= ptr - *buf;
174 ptr += sprintf(ptr,
"| @font-face ");
182 *buflen -= ptr - *buf;
200 memcpy(*ptr,
" > ", 3);
204 memcpy(*ptr,
" + ", 3);
208 memcpy(*ptr,
" + ", 3);
213 dump_selector(list, ptr);
222 dump_selector_detail(d, ptr);
234 *ptr += sprintf(*ptr,
":not(");
236 switch (detail->
type) {
238 if (lwc_string_length(detail->
qname.
name) == 1 &&
239 lwc_string_data(detail->
qname.
name)[0] ==
'*' &&
242 }
else if (lwc_string_length(detail->
qname.
name) != 1 ||
243 lwc_string_data(detail->
qname.
name)[0] !=
'*') {
271 *ptr += sprintf(*ptr,
"(%dn+%d)",
363 *ptr += sprintf(*ptr,
")");
369static const char *opcode_names[] = {
371 "background-attachment",
374 "background-position",
379 "border-right-color",
380 "border-bottom-color",
383 "border-right-style",
384 "border-bottom-style",
387 "border-right-width",
388 "border-bottom-width",
416 "list-style-position",
498static void dump_css_fixed(
css_fixed f,
char **ptr)
500#define ABS(x) (uint32_t)((x) < 0 ? -(x) : (x))
503 uint32_t fracpart = ((
ABS(f) & 0x3ff) * 1000 + 500) / (1 << 10);
516 tmp[tlen] =
"0123456789"[uintpart % 10];
520 }
while (tlen < 20 && uintpart != 0);
523 buf[0] = tmp[--tlen];
531 tmp[tlen] =
"0123456789"[fracpart % 10];
535 }
while (tlen < 20 && fracpart != 0);
538 buf[0] = tmp[--tlen];
554static void dump_number(
css_fixed val,
char **ptr)
557 *ptr += sprintf(*ptr,
"%d",
FIXTOINT(val));
559 dump_css_fixed(val, ptr);
562static void dump_unit(
css_fixed val, uint32_t
unit,
char **ptr)
564 dump_number(val, ptr);
568 *ptr += sprintf(*ptr,
"px");
571 *ptr += sprintf(*ptr,
"ex");
574 *ptr += sprintf(*ptr,
"em");
577 *ptr += sprintf(*ptr,
"in");
580 *ptr += sprintf(*ptr,
"cm");
583 *ptr += sprintf(*ptr,
"mm");
586 *ptr += sprintf(*ptr,
"pt");
589 *ptr += sprintf(*ptr,
"pc");
592 *ptr += sprintf(*ptr,
"ch");
595 *ptr += sprintf(*ptr,
"rem");
598 *ptr += sprintf(*ptr,
"lh");
601 *ptr += sprintf(*ptr,
"vh");
604 *ptr += sprintf(*ptr,
"vw");
607 *ptr += sprintf(*ptr,
"vi");
610 *ptr += sprintf(*ptr,
"vb");
613 *ptr += sprintf(*ptr,
"vmin");
616 *ptr += sprintf(*ptr,
"vmax");
619 *ptr += sprintf(*ptr,
"q");
622 *ptr += sprintf(*ptr,
"%%");
625 *ptr += sprintf(*ptr,
"deg");
628 *ptr += sprintf(*ptr,
"grad");
631 *ptr += sprintf(*ptr,
"rad");
634 *ptr += sprintf(*ptr,
"ms");
637 *ptr += sprintf(*ptr,
"s");
640 *ptr += sprintf(*ptr,
"Hz");
643 *ptr += sprintf(*ptr,
"kHz");
646 *ptr += sprintf(*ptr,
"any");
649 *ptr += sprintf(*ptr,
"number");
654static void dump_counter(lwc_string *name, uint32_t value,
657 *ptr += sprintf(*ptr,
"counter(%.*s",
658 (
int) lwc_string_length(name), lwc_string_data(name));
664 *ptr += sprintf(*ptr,
", disc");
667 *ptr += sprintf(*ptr,
", circle");
670 *ptr += sprintf(*ptr,
", square");
675 *ptr += sprintf(*ptr,
", decimal-leading-zero");
678 *ptr += sprintf(*ptr,
", lower-roman");
681 *ptr += sprintf(*ptr,
", upper-roman");
684 *ptr += sprintf(*ptr,
", lower-greek");
687 *ptr += sprintf(*ptr,
", lower-latin");
690 *ptr += sprintf(*ptr,
", upper-latin");
693 *ptr += sprintf(*ptr,
", armenian");
696 *ptr += sprintf(*ptr,
", georgian");
699 *ptr += sprintf(*ptr,
", lower-alpha");
702 *ptr += sprintf(*ptr,
", upper-alpha");
705 *ptr += sprintf(*ptr,
", none");
709 *ptr += sprintf(*ptr,
")");
712static void dump_counters(lwc_string *name, lwc_string *separator,
713 uint32_t value,
char **ptr)
715 *ptr += sprintf(*ptr,
"counter(%.*s, %.*s",
716 (
int) lwc_string_length(name),
717 lwc_string_data(name),
718 (
int) lwc_string_length(separator),
719 lwc_string_data(separator));
725 *ptr += sprintf(*ptr,
", disc");
728 *ptr += sprintf(*ptr,
", circle");
731 *ptr += sprintf(*ptr,
", square");
736 *ptr += sprintf(*ptr,
", decimal-leading-zero");
739 *ptr += sprintf(*ptr,
", lower-roman");
742 *ptr += sprintf(*ptr,
", upper-roman");
745 *ptr += sprintf(*ptr,
", lower-greek");
748 *ptr += sprintf(*ptr,
", lower-latin");
751 *ptr += sprintf(*ptr,
", upper-latin");
754 *ptr += sprintf(*ptr,
", armenian");
757 *ptr += sprintf(*ptr,
", georgian");
760 *ptr += sprintf(*ptr,
", lower-alpha");
763 *ptr += sprintf(*ptr,
", upper-alpha");
766 *ptr += sprintf(*ptr,
", none");
770 *ptr += sprintf(*ptr,
")");
773void dump_bytecode(
css_style *style,
char **ptr, uint32_t depth)
775 void *bytecode =
style->bytecode;
779#define ADVANCE(n) do { \
781 bytecode = ((uint8_t *) bytecode) + (n); \
784 while (offset < length) {
787 uint32_t opv = *((uint32_t *) bytecode);
795 for (i = 0; i < depth; i++)
797 *ptr += sprintf(*ptr,
"%s: ", opcode_names[op]);
800 *ptr += sprintf(*ptr,
"inherit");
802 *ptr += sprintf(*ptr,
"initial");
804 *ptr += sprintf(*ptr,
"revert");
806 *ptr += sprintf(*ptr,
"unset");
807 }
else if (isCalc(opv)) {
808 lwc_string *calc_expr = NULL;
809 const uint8_t *codeptr = NULL;
813 unit = *((uint32_t *)bytecode);
816 snum = *((uint32_t *)bytecode);
819 codeptr = (
const uint8_t *)lwc_string_data(calc_expr);
820 *ptr += sprintf(*ptr,
"/* -> ");
821 dump_unit(0,
unit, ptr);
822 *ptr += sprintf(*ptr,
" */ calc(");
824 codeptr +=
sizeof(calc_opcode);
825 switch (calc_opcode) {
827 *ptr += sprintf(*ptr,
"+ ");
830 *ptr += sprintf(*ptr,
"- ");
833 *ptr += sprintf(*ptr,
"* ");
836 *ptr += sprintf(*ptr,
"/ ");
840 codeptr +=
sizeof(num);
841 uint32_t
unit = *((uint32_t *)(
void *)codeptr);
842 codeptr +=
sizeof(
unit);
843 dump_unit(num,
unit, ptr);
844 *ptr += sprintf(*ptr,
" ");
849 codeptr +=
sizeof(num);
850 dump_number(num, ptr);
851 *ptr += sprintf(*ptr,
" ");
855 *ptr += sprintf(*ptr,
"??%d ", calc_opcode);
859 *ptr += sprintf(*ptr,
"=)");
861 value = getValue(opv);
867 *ptr += sprintf(*ptr,
"stretch");
870 *ptr += sprintf(*ptr,
"flex-start");
873 *ptr += sprintf(*ptr,
"flex-end");
876 *ptr += sprintf(*ptr,
"center");
879 *ptr += sprintf(*ptr,
"space-between");
882 *ptr += sprintf(*ptr,
"space-around");
885 *ptr += sprintf(*ptr,
"space-evenly");
892 *ptr += sprintf(*ptr,
"stretch");
895 *ptr += sprintf(*ptr,
"flex-start");
898 *ptr += sprintf(*ptr,
"flex-end");
901 *ptr += sprintf(*ptr,
"center");
904 *ptr += sprintf(*ptr,
"baseline");
911 *ptr += sprintf(*ptr,
"stretch");
914 *ptr += sprintf(*ptr,
"flex-start");
917 *ptr += sprintf(*ptr,
"flex-end");
920 *ptr += sprintf(*ptr,
"center");
923 *ptr += sprintf(*ptr,
"baseline");
926 *ptr += sprintf(*ptr,
"auto");
937 unit = *((uint32_t *) bytecode);
939 dump_unit(val,
unit, ptr);
943 *ptr += sprintf(*ptr,
"leftwards");
946 *ptr += sprintf(*ptr,
"rightwards");
949 *ptr += sprintf(*ptr,
"left-side");
952 *ptr += sprintf(*ptr,
"far-left");
955 *ptr += sprintf(*ptr,
"left");
958 *ptr += sprintf(*ptr,
"center-left");
961 *ptr += sprintf(*ptr,
"center");
964 *ptr += sprintf(*ptr,
"center-right");
967 *ptr += sprintf(*ptr,
"right");
970 *ptr += sprintf(*ptr,
"far-right");
973 *ptr += sprintf(*ptr,
"right-side");
977 *ptr += sprintf(*ptr,
" behind");
982 *ptr += sprintf(*ptr,
"fixed");
985 *ptr += sprintf(*ptr,
"scroll");
1007 *ptr += sprintf(*ptr,
"transparent");
1010 *ptr += sprintf(*ptr,
"currentColor");
1015 *((uint32_t *) bytecode);
1017 *ptr += sprintf(*ptr,
"#%08x",
colour);
1047 *ptr += sprintf(*ptr,
"none");
1051 uint32_t snum = *((uint32_t *) bytecode);
1057 *ptr += sprintf(*ptr,
"url('%.*s')",
1058 (
int) lwc_string_length(he),
1059 lwc_string_data(he));
1065 switch (value & 0xf0) {
1071 unit = *((uint32_t *) bytecode);
1073 dump_unit(val,
unit, ptr);
1077 *ptr += sprintf(*ptr,
"center");
1080 *ptr += sprintf(*ptr,
"right");
1083 *ptr += sprintf(*ptr,
"left");
1086 *ptr += sprintf(*ptr,
" ");
1087 switch (value & 0x0f) {
1093 unit = *((uint32_t *) bytecode);
1095 dump_unit(val,
unit, ptr);
1099 *ptr += sprintf(*ptr,
"center");
1102 *ptr += sprintf(*ptr,
"bottom");
1105 *ptr += sprintf(*ptr,
"top");
1112 *ptr += sprintf(*ptr,
"no-repeat");
1115 *ptr += sprintf(*ptr,
"repeat-x");
1118 *ptr += sprintf(*ptr,
"repeat-y");
1121 *ptr += sprintf(*ptr,
"repeat");
1128 *ptr += sprintf(*ptr,
"separate");
1131 *ptr += sprintf(*ptr,
"collapse");
1142 unit = *((uint32_t *) bytecode);
1144 dump_unit(val,
unit, ptr);
1148 unit = *((uint32_t *) bytecode);
1150 dump_unit(val,
unit, ptr);
1158 *ptr += sprintf(*ptr,
"content-box");
1161 *ptr += sprintf(*ptr,
"border-box");
1234 *ptr += sprintf(*ptr,
"none");
1237 *ptr += sprintf(*ptr,
"hidden");
1240 *ptr += sprintf(*ptr,
"dotted");
1243 *ptr += sprintf(*ptr,
"dashed");
1246 *ptr += sprintf(*ptr,
"solid");
1249 *ptr += sprintf(*ptr,
"double");
1252 *ptr += sprintf(*ptr,
"groove");
1255 *ptr += sprintf(*ptr,
"ridge");
1258 *ptr += sprintf(*ptr,
"inset");
1261 *ptr += sprintf(*ptr,
"outset");
1290 unit = *((uint32_t *) bytecode);
1292 dump_unit(val,
unit, ptr);
1296 *ptr += sprintf(*ptr,
"thin");
1299 *ptr += sprintf(*ptr,
"medium");
1302 *ptr += sprintf(*ptr,
"thick");
1354 unit = *((uint32_t *) bytecode);
1356 dump_unit(val,
unit, ptr);
1360 *ptr += sprintf(*ptr,
"auto");
1396 *ptr += sprintf(*ptr,
"auto");
1399 *ptr += sprintf(*ptr,
"always");
1402 *ptr += sprintf(*ptr,
"avoid");
1405 *ptr += sprintf(*ptr,
"left");
1408 *ptr += sprintf(*ptr,
"right");
1411 *ptr += sprintf(*ptr,
"page");
1414 *ptr += sprintf(*ptr,
"column");
1417 *ptr += sprintf(*ptr,
"avoid-page");
1420 *ptr += sprintf(*ptr,
"avoid-column");
1427 *ptr += sprintf(*ptr,
"auto");
1430 *ptr += sprintf(*ptr,
"avoid");
1433 *ptr += sprintf(*ptr,
"avoid-page");
1436 *ptr += sprintf(*ptr,
"avoid-column");
1443 *ptr += sprintf(*ptr,
"top");
1446 *ptr += sprintf(*ptr,
"bottom");
1453 *ptr += sprintf(*ptr,
"none");
1456 *ptr += sprintf(*ptr,
"left");
1459 *ptr += sprintf(*ptr,
"right");
1462 *ptr += sprintf(*ptr,
"both");
1469 *ptr += sprintf(*ptr,
"rect(");
1471 *ptr += sprintf(*ptr,
"auto");
1477 unit = *((uint32_t *) bytecode);
1479 dump_unit(val,
unit, ptr);
1481 *ptr += sprintf(*ptr,
", ");
1483 *ptr += sprintf(*ptr,
"auto");
1489 unit = *((uint32_t *) bytecode);
1491 dump_unit(val,
unit, ptr);
1493 *ptr += sprintf(*ptr,
", ");
1495 *ptr += sprintf(*ptr,
"auto");
1501 unit = *((uint32_t *) bytecode);
1503 dump_unit(val,
unit, ptr);
1505 *ptr += sprintf(*ptr,
", ");
1507 *ptr += sprintf(*ptr,
"auto");
1513 unit = *((uint32_t *) bytecode);
1515 dump_unit(val,
unit, ptr);
1517 *ptr += sprintf(*ptr,
")");
1519 *ptr += sprintf(*ptr,
"auto");
1524 *ptr += sprintf(*ptr,
"transparent");
1527 *ptr += sprintf(*ptr,
"currentColor");
1532 *((uint32_t *) bytecode);
1534 *ptr += sprintf(*ptr,
"#%08x",
colour);
1545 dump_number(val, ptr);
1549 *ptr += sprintf(*ptr,
"auto");
1556 *ptr += sprintf(*ptr,
"balance");
1559 *ptr += sprintf(*ptr,
"auto");
1570 unit = *((uint32_t *) bytecode);
1572 dump_unit(val,
unit, ptr);
1576 *ptr += sprintf(*ptr,
"normal");
1583 *ptr += sprintf(*ptr,
"none");
1586 *ptr += sprintf(*ptr,
"all");
1592 *ptr += sprintf(*ptr,
"normal");
1595 *ptr += sprintf(*ptr,
"none");
1600 uint32_t snum = *((uint32_t *) bytecode);
1602 const char *end =
"";
1604 switch (value & 0xff) {
1608 dump_counter(he, value, ptr);
1617 sep = *((lwc_string **) bytecode);
1620 dump_counters(he, sep, value,
1630 *ptr += sprintf(*ptr,
"url(");
1632 *ptr += sprintf(*ptr,
"attr(");
1638 *ptr += sprintf(*ptr,
"'%.*s'%s",
1639 (
int) lwc_string_length(he),
1640 lwc_string_data(he),
1645 *ptr += sprintf(*ptr,
"open-quote");
1649 *ptr += sprintf(*ptr,
"close-quote");
1653 *ptr += sprintf(*ptr,
"no-open-quote");
1657 *ptr += sprintf(*ptr,
"no-close-quote");
1661 value = *((uint32_t *) bytecode);
1665 *ptr += sprintf(*ptr,
" ");
1681 uint32_t snum = *((uint32_t *) bytecode); lwc_string *he;
1686 *ptr += sprintf(*ptr,
"%.*s ",
1687 (
int)lwc_string_length(he),
1688 lwc_string_data(he));
1691 dump_number(val, ptr);
1693 value = *((uint32_t *) bytecode);
1698 *ptr += sprintf(*ptr,
1703 *ptr += sprintf(*ptr,
"none");
1709 uint32_t snum = *((uint32_t *) bytecode); lwc_string *he;
1714 *ptr += sprintf(*ptr,
"url('%.*s'), ",
1715 (
int) lwc_string_length(he),
1716 lwc_string_data(he));
1718 value = *((uint32_t *) bytecode);
1724 *ptr += sprintf(*ptr,
"auto");
1727 *ptr += sprintf(*ptr,
"crosshair");
1730 *ptr += sprintf(*ptr,
"default");
1733 *ptr += sprintf(*ptr,
"pointer");
1736 *ptr += sprintf(*ptr,
"move");
1739 *ptr += sprintf(*ptr,
"e-resize");
1742 *ptr += sprintf(*ptr,
"ne-resize");
1745 *ptr += sprintf(*ptr,
"nw-resize");
1748 *ptr += sprintf(*ptr,
"n-resize");
1751 *ptr += sprintf(*ptr,
"se-resize");
1754 *ptr += sprintf(*ptr,
"sw-resize");
1757 *ptr += sprintf(*ptr,
"s-resize");
1760 *ptr += sprintf(*ptr,
"w-resize");
1763 *ptr += sprintf(*ptr,
"text");
1766 *ptr += sprintf(*ptr,
"wait");
1769 *ptr += sprintf(*ptr,
"help");
1772 *ptr += sprintf(*ptr,
"progress");
1779 *ptr += sprintf(*ptr,
"ltr");
1782 *ptr += sprintf(*ptr,
"rtl");
1789 *ptr += sprintf(*ptr,
"inline");
1792 *ptr += sprintf(*ptr,
"block");
1795 *ptr += sprintf(*ptr,
"list-item");
1798 *ptr += sprintf(*ptr,
"run-in");
1801 *ptr += sprintf(*ptr,
"inline-block");
1804 *ptr += sprintf(*ptr,
"table");
1807 *ptr += sprintf(*ptr,
"inline-table");
1810 *ptr += sprintf(*ptr,
"table-row-group");
1813 *ptr += sprintf(*ptr,
"table-header-group");
1816 *ptr += sprintf(*ptr,
"table-footer-group");
1819 *ptr += sprintf(*ptr,
"table-row");
1822 *ptr += sprintf(*ptr,
"table-column-group");
1825 *ptr += sprintf(*ptr,
"table-column");
1828 *ptr += sprintf(*ptr,
"table-cell");
1831 *ptr += sprintf(*ptr,
"table-caption");
1834 *ptr += sprintf(*ptr,
"none");
1837 *ptr += sprintf(*ptr,
"flex");
1840 *ptr += sprintf(*ptr,
"inline-flex");
1851 unit = *((uint32_t *) bytecode);
1853 dump_unit(val,
unit, ptr);
1857 *ptr += sprintf(*ptr,
"below");
1860 *ptr += sprintf(*ptr,
"level");
1863 *ptr += sprintf(*ptr,
"above");
1866 *ptr += sprintf(*ptr,
"higher");
1869 *ptr += sprintf(*ptr,
"lower");
1876 *ptr += sprintf(*ptr,
"show");
1879 *ptr += sprintf(*ptr,
"hide");
1889 dump_number(val, ptr);
1900 dump_number(val, ptr);
1908 *ptr += sprintf(*ptr,
"auto");
1911 *ptr += sprintf(*ptr,
"content");
1918 unit = *((uint32_t *) bytecode);
1920 dump_unit(val,
unit, ptr);
1928 *ptr += sprintf(*ptr,
"row");
1931 *ptr += sprintf(*ptr,
"column");
1934 *ptr += sprintf(*ptr,
"row-reverse");
1937 *ptr += sprintf(*ptr,
"column-reverse");
1947 dump_number(val, ptr);
1958 dump_number(val, ptr);
1966 *ptr += sprintf(*ptr,
"nowrap");
1969 *ptr += sprintf(*ptr,
"wrap");
1972 *ptr += sprintf(*ptr,
"wrap-reverse");
1979 *ptr += sprintf(*ptr,
"left");
1982 *ptr += sprintf(*ptr,
"right");
1985 *ptr += sprintf(*ptr,
"none");
1995 uint32_t snum = *((uint32_t *) bytecode);
1999 *ptr += sprintf(*ptr,
"'%.*s'",
2000 (
int) lwc_string_length(he),
2001 lwc_string_data(he));
2005 *ptr += sprintf(*ptr,
"serif");
2008 *ptr += sprintf(*ptr,
"sans-serif");
2011 *ptr += sprintf(*ptr,
"cursive");
2014 *ptr += sprintf(*ptr,
"fantasy");
2017 *ptr += sprintf(*ptr,
"monospace");
2021 value = *((uint32_t *) bytecode);
2025 *ptr += sprintf(*ptr,
", ");
2035 unit = *((uint32_t *) bytecode);
2037 dump_unit(val,
unit, ptr);
2041 *ptr += sprintf(*ptr,
"xx-small");
2044 *ptr += sprintf(*ptr,
"x-small");
2047 *ptr += sprintf(*ptr,
"small");
2050 *ptr += sprintf(*ptr,
"medium");
2053 *ptr += sprintf(*ptr,
"large");
2056 *ptr += sprintf(*ptr,
"x-large");
2059 *ptr += sprintf(*ptr,
"xx-large");
2062 *ptr += sprintf(*ptr,
"larger");
2065 *ptr += sprintf(*ptr,
"smaller");
2072 *ptr += sprintf(*ptr,
"normal");
2075 *ptr += sprintf(*ptr,
"italic");
2078 *ptr += sprintf(*ptr,
"oblique");
2085 *ptr += sprintf(*ptr,
"normal");
2088 *ptr += sprintf(*ptr,
"small-caps");
2095 *ptr += sprintf(*ptr,
"normal");
2098 *ptr += sprintf(*ptr,
"bold");
2101 *ptr += sprintf(*ptr,
"bolder");
2104 *ptr += sprintf(*ptr,
"lighter");
2107 *ptr += sprintf(*ptr,
"100");
2110 *ptr += sprintf(*ptr,
"200");
2113 *ptr += sprintf(*ptr,
"300");
2116 *ptr += sprintf(*ptr,
"400");
2119 *ptr += sprintf(*ptr,
"500");
2122 *ptr += sprintf(*ptr,
"600");
2125 *ptr += sprintf(*ptr,
"700");
2128 *ptr += sprintf(*ptr,
"800");
2131 *ptr += sprintf(*ptr,
"900");
2138 *ptr += sprintf(*ptr,
"flex-start");
2141 *ptr += sprintf(*ptr,
"flex-end");
2144 *ptr += sprintf(*ptr,
"center");
2147 *ptr += sprintf(*ptr,
"space-between");
2150 *ptr += sprintf(*ptr,
"space-around");
2153 *ptr += sprintf(*ptr,
"space-evenly");
2173 unit = *((uint32_t *) bytecode);
2175 dump_unit(val,
unit, ptr);
2179 *ptr += sprintf(*ptr,
"normal");
2189 dump_number(val, ptr);
2197 unit = *((uint32_t *) bytecode);
2199 dump_unit(val,
unit, ptr);
2203 *ptr += sprintf(*ptr,
"normal");
2210 *ptr += sprintf(*ptr,
"inside");
2213 *ptr += sprintf(*ptr,
"outside");
2220 *ptr += sprintf(*ptr,
"disc");
2223 *ptr += sprintf(*ptr,
"circle");
2226 *ptr += sprintf(*ptr,
"square");
2229 *ptr += sprintf(*ptr,
"decimal");
2232 *ptr += sprintf(*ptr,
"decimal-leading-zero");
2235 *ptr += sprintf(*ptr,
"lower-roman");
2238 *ptr += sprintf(*ptr,
"upper-roman");
2241 *ptr += sprintf(*ptr,
"lower-greek");
2244 *ptr += sprintf(*ptr,
"lower-latin");
2247 *ptr += sprintf(*ptr,
"upper-latin");
2250 *ptr += sprintf(*ptr,
"armenian");
2253 *ptr += sprintf(*ptr,
"georgian");
2256 *ptr += sprintf(*ptr,
"lower-alpha");
2259 *ptr += sprintf(*ptr,
"upper-alpha");
2262 *ptr += sprintf(*ptr,
"none");
2281 unit = *((uint32_t *) bytecode);
2283 dump_unit(val,
unit, ptr);
2287 *ptr += sprintf(*ptr,
"none");
2306 unit = *((uint32_t *) bytecode);
2308 dump_unit(val,
unit, ptr);
2312 *ptr += sprintf(*ptr,
"auto");
2322 dump_number(val, ptr);
2333 dump_number(val, ptr);
2361 unit = *((uint32_t *) bytecode);
2363 dump_unit(val,
unit, ptr);
2391 dump_number(val, ptr);
2399 *ptr += sprintf(*ptr,
"transparent");
2402 *ptr += sprintf(*ptr,
"currentColor");
2407 *((uint32_t *) bytecode);
2409 *ptr += sprintf(*ptr,
"#%08x",
colour);
2413 *ptr += sprintf(*ptr,
"invert");
2421 *ptr += sprintf(*ptr,
"visible");
2424 *ptr += sprintf(*ptr,
"hidden");
2427 *ptr += sprintf(*ptr,
"scroll");
2430 *ptr += sprintf(*ptr,
"auto");
2454 *ptr += sprintf(*ptr,
"auto");
2457 *ptr += sprintf(*ptr,
"always");
2460 *ptr += sprintf(*ptr,
"avoid");
2463 *ptr += sprintf(*ptr,
"left");
2466 *ptr += sprintf(*ptr,
"right");
2473 *ptr += sprintf(*ptr,
"auto");
2476 *ptr += sprintf(*ptr,
"avoid");
2487 unit = *((uint32_t *) bytecode);
2489 dump_unit(val,
unit, ptr);
2493 *ptr += sprintf(*ptr,
"x-low");
2496 *ptr += sprintf(*ptr,
"low");
2499 *ptr += sprintf(*ptr,
"medium");
2502 *ptr += sprintf(*ptr,
"high");
2505 *ptr += sprintf(*ptr,
"x-high");
2513 uint32_t snum = *((uint32_t *) bytecode);
2517 *ptr += sprintf(*ptr,
"'%.*s'",
2518 (
int) lwc_string_length(he),
2519 lwc_string_data(he));
2523 *ptr += sprintf(*ptr,
"auto");
2526 *ptr += sprintf(*ptr,
"none");
2531 *ptr += sprintf(*ptr,
" mix");
2533 *ptr += sprintf(*ptr,
" repeat");
2538 *ptr += sprintf(*ptr,
"static");
2541 *ptr += sprintf(*ptr,
"relative");
2544 *ptr += sprintf(*ptr,
"absolute");
2547 *ptr += sprintf(*ptr,
"fixed");
2555 uint32_t snum = *((uint32_t *) bytecode);
2559 *ptr += sprintf(*ptr,
" '%.*s' ",
2560 (
int) lwc_string_length(he),
2561 lwc_string_data(he));
2565 *ptr += sprintf(*ptr,
" '%.*s' ",
2566 (
int) lwc_string_length(he),
2567 lwc_string_data(he));
2569 value = *((uint32_t *) bytecode);
2574 *ptr += sprintf(*ptr,
"none");
2581 *ptr += sprintf(*ptr,
"once");
2584 *ptr += sprintf(*ptr,
"always");
2591 *ptr += sprintf(*ptr,
"digits");
2594 *ptr += sprintf(*ptr,
"continuous");
2601 *ptr += sprintf(*ptr,
"code");
2604 *ptr += sprintf(*ptr,
"none");
2611 *ptr += sprintf(*ptr,
"normal");
2614 *ptr += sprintf(*ptr,
"none");
2617 *ptr += sprintf(*ptr,
"spell-out");
2627 dump_number(val, ptr);
2631 *ptr += sprintf(*ptr,
"x-slow");
2634 *ptr += sprintf(*ptr,
"slow");
2637 *ptr += sprintf(*ptr,
"medium");
2640 *ptr += sprintf(*ptr,
"fast");
2643 *ptr += sprintf(*ptr,
"x-fast");
2646 *ptr += sprintf(*ptr,
"faster");
2649 *ptr += sprintf(*ptr,
"slower");
2656 *ptr += sprintf(*ptr,
"auto");
2659 *ptr += sprintf(*ptr,
"fixed");
2666 *ptr += sprintf(*ptr,
"left");
2669 *ptr += sprintf(*ptr,
"right");
2672 *ptr += sprintf(*ptr,
"center");
2675 *ptr += sprintf(*ptr,
"justify");
2678 *ptr += sprintf(*ptr,
"-libcss-left");
2681 *ptr += sprintf(*ptr,
"-libcss-center");
2684 *ptr += sprintf(*ptr,
"-libcss-right");
2690 *ptr += sprintf(*ptr,
"none");
2693 *ptr += sprintf(*ptr,
" underline");
2695 *ptr += sprintf(*ptr,
" overline");
2697 *ptr += sprintf(*ptr,
" line-through");
2699 *ptr += sprintf(*ptr,
" blink");
2704 *ptr += sprintf(*ptr,
"capitalize");
2707 *ptr += sprintf(*ptr,
"uppercase");
2710 *ptr += sprintf(*ptr,
"lowercase");
2713 *ptr += sprintf(*ptr,
"none");
2720 *ptr += sprintf(*ptr,
"normal");
2723 *ptr += sprintf(*ptr,
"embed");
2726 *ptr += sprintf(*ptr,
"bidi-override");
2737 unit = *((uint32_t *) bytecode);
2739 dump_unit(val,
unit, ptr);
2743 *ptr += sprintf(*ptr,
"baseline");
2746 *ptr += sprintf(*ptr,
"sub");
2749 *ptr += sprintf(*ptr,
"super");
2752 *ptr += sprintf(*ptr,
"top");
2755 *ptr += sprintf(*ptr,
"text-top");
2758 *ptr += sprintf(*ptr,
"middle");
2761 *ptr += sprintf(*ptr,
"bottom");
2764 *ptr += sprintf(*ptr,
"text-bottom");
2771 *ptr += sprintf(*ptr,
"visible");
2774 *ptr += sprintf(*ptr,
"hidden");
2777 *ptr += sprintf(*ptr,
"collapse");
2787 uint32_t snum = *((uint32_t *) bytecode);
2791 *ptr += sprintf(*ptr,
"'%.*s'",
2792 (
int) lwc_string_length(he),
2793 lwc_string_data(he));
2797 *ptr += sprintf(*ptr,
"male");
2800 *ptr += sprintf(*ptr,
"female");
2803 *ptr += sprintf(*ptr,
"child");
2807 value = *((uint32_t *) bytecode);
2811 *ptr += sprintf(*ptr,
", ");
2820 dump_number(val, ptr);
2828 unit = *((uint32_t *) bytecode);
2830 dump_unit(val,
unit, ptr);
2834 *ptr += sprintf(*ptr,
"silent");
2837 *ptr += sprintf(*ptr,
"x-soft");
2840 *ptr += sprintf(*ptr,
"soft");
2843 *ptr += sprintf(*ptr,
"medium");
2846 *ptr += sprintf(*ptr,
"loud");
2849 *ptr += sprintf(*ptr,
"x-loud");
2856 *ptr += sprintf(*ptr,
"normal");
2859 *ptr += sprintf(*ptr,
"pre");
2862 *ptr += sprintf(*ptr,
"nowrap");
2865 *ptr += sprintf(*ptr,
"pre-wrap");
2868 *ptr += sprintf(*ptr,
"pre-line");
2875 *ptr += sprintf(*ptr,
"horizontal-tb");
2878 *ptr += sprintf(*ptr,
"vertical-rl");
2881 *ptr += sprintf(*ptr,
"vertical-lr");
2891 dump_number(val, ptr);
2895 *ptr += sprintf(*ptr,
"auto");
2900 *ptr += sprintf(*ptr,
"Unknown opcode %x", op);
2905 if (isImportant(opv))
2906 *ptr += sprintf(*ptr,
" !important");
2908 *ptr += sprintf(*ptr,
"\n");
2915void dump_string(lwc_string *
string,
char **ptr)
2917 *ptr += sprintf(*ptr,
"%.*s",
2918 (
int) lwc_string_length(
string),
2919 lwc_string_data(
string));
2924 uint8_t
style, weight;
2928 *ptr += sprintf(*ptr,
"| font-family: %.*s",
2933 *ptr += sprintf(*ptr,
"\n| font-style: ");
2937 *ptr += sprintf(*ptr,
"unspecified");
2940 *ptr += sprintf(*ptr,
"normal");
2943 *ptr += sprintf(*ptr,
"italic");
2946 *ptr += sprintf(*ptr,
"oblique");
2950 *ptr += sprintf(*ptr,
"\n| font-weight: ");
2954 *ptr += sprintf(*ptr,
"unspecified");
2957 *ptr += sprintf(*ptr,
"normal");
2960 *ptr += sprintf(*ptr,
"bold");
2963 *ptr += sprintf(*ptr,
"100");
2966 *ptr += sprintf(*ptr,
"200");
2969 *ptr += sprintf(*ptr,
"300");
2972 *ptr += sprintf(*ptr,
"400");
2975 *ptr += sprintf(*ptr,
"500");
2978 *ptr += sprintf(*ptr,
"600");
2981 *ptr += sprintf(*ptr,
"700");
2984 *ptr += sprintf(*ptr,
"800");
2987 *ptr += sprintf(*ptr,
"900");
2990 *ptr += sprintf(*ptr,
"Unhandled weight %d\n", (
int)weight);
2995 if (font_face->
srcs != NULL) {
2998 for (i = 0; i < font_face->
n_srcs; ++i) {
3000 *ptr += sprintf(*ptr,
"\n| src: ");
3004 *ptr += sprintf(*ptr,
"\n| format: ");
3008 *ptr += sprintf(*ptr,
"unspecified");
3011 *ptr += sprintf(*ptr,
"WOFF");
3014 *ptr += sprintf(*ptr,
"OTF");
3017 *ptr += sprintf(*ptr,
"EOTF");
3020 *ptr += sprintf(*ptr,
"SVG");
3023 *ptr += sprintf(*ptr,
"unknown");
3026 *ptr += sprintf(*ptr,
"UNEXPECTED");
3030 if (srcs[i].location != NULL) {
3031 *ptr += sprintf(*ptr,
"\n| location: ");
3036 *ptr += sprintf(*ptr,
"local");
3039 *ptr += sprintf(*ptr,
"url");
3042 *ptr += sprintf(*ptr,
"UNKNOWN");
3046 *ptr += sprintf(*ptr,
"(%.*s)",
3047 (
int) lwc_string_length(
3049 lwc_string_data(srcs[i].location));
uint32_t colour
Definition bytecode.h:96
unit
Definition bytecode.h:49
@ UNIT_VW
Definition bytecode.h:63
@ UNIT_CH
Definition bytecode.h:59
@ UNIT_GRAD
Definition bytecode.h:74
@ UNIT_PCT
Definition bytecode.h:70
@ UNIT_PT
Definition bytecode.h:57
@ UNIT_Q
Definition bytecode.h:68
@ UNIT_VB
Definition bytecode.h:65
@ UNIT_KHZ
Definition bytecode.h:84
@ UNIT_VMIN
Definition bytecode.h:66
@ UNIT_CALC_NUMBER
Definition bytecode.h:93
@ UNIT_S
Definition bytecode.h:80
@ UNIT_CM
Definition bytecode.h:55
@ UNIT_REM
Definition bytecode.h:60
@ UNIT_IN
Definition bytecode.h:54
@ UNIT_EX
Definition bytecode.h:52
@ UNIT_MM
Definition bytecode.h:56
@ UNIT_HZ
Definition bytecode.h:83
@ UNIT_VMAX
Definition bytecode.h:67
@ UNIT_CALC_ANY
Definition bytecode.h:92
@ UNIT_DEG
Definition bytecode.h:73
@ UNIT_PC
Definition bytecode.h:58
@ UNIT_EM
Definition bytecode.h:53
@ UNIT_PX
Definition bytecode.h:51
@ UNIT_VI
Definition bytecode.h:64
@ UNIT_RAD
Definition bytecode.h:75
@ UNIT_LH
Definition bytecode.h:61
@ UNIT_VH
Definition bytecode.h:62
@ UNIT_MS
Definition bytecode.h:79
@ FLAG_VALUE_INHERIT
Definition bytecode.h:25
@ FLAG_VALUE_REVERT
Definition bytecode.h:27
@ FLAG_VALUE_INITIAL
Definition bytecode.h:26
@ FLAG_VALUE_UNSET
Definition bytecode.h:28
uint32_t css_code_t
Definition bytecode.h:19
@ CALC_PUSH_VALUE
Definition bytecode.h:41
@ CALC_FINISH
Definition bytecode.h:46
@ CALC_ADD
Definition bytecode.h:42
@ CALC_MULTIPLY
Definition bytecode.h:44
@ CALC_DIVIDE
Definition bytecode.h:45
@ CALC_PUSH_NUMBER
Definition bytecode.h:40
@ CALC_SUBTRACT
Definition bytecode.h:43
enum css_properties_e opcode_t
Definition bytecode.h:21
#define INTTOFIX(a)
Definition fpmath.h:127
#define FIXTOINT(a)
Definition fpmath.h:129
int32_t css_fixed
Definition fpmath.h:23
css_font_face_format
Definition font_face.h:24
@ CSS_FONT_FACE_FORMAT_EMBEDDED_OPENTYPE
Definition font_face.h:31
@ CSS_FONT_FACE_FORMAT_WOFF
Definition font_face.h:27
@ CSS_FONT_FACE_FORMAT_SVG
Definition font_face.h:33
@ CSS_FONT_FACE_FORMAT_UNSPECIFIED
Definition font_face.h:25
@ CSS_FONT_FACE_FORMAT_UNKNOWN
Definition font_face.h:36
@ CSS_FONT_FACE_FORMAT_OPENTYPE
Definition font_face.h:29
@ CSS_FONT_FACE_LOCATION_TYPE_URI
Definition font_face.h:52
@ CSS_FONT_FACE_LOCATION_TYPE_LOCAL
Definition font_face.h:51
css_font_face_format css_font_face_src_format(const css_font_face_src *src)
Definition font_face.c:223
css_font_face_location_type css_font_face_src_location_type(const css_font_face_src *src)
Definition font_face.c:211
uint8_t css_font_face_font_style(const css_font_face *font_face)
Definition font_face.c:128
uint8_t css_font_face_font_weight(const css_font_face *font_face)
Definition font_face.c:139
@ CSS_FONT_STYLE_OBLIQUE
Definition properties.h:528
@ CSS_FONT_STYLE_ITALIC
Definition properties.h:527
@ CSS_FONT_STYLE_NORMAL
Definition properties.h:526
@ CSS_FONT_STYLE_INHERIT
Definition properties.h:525
@ CSS_FONT_WEIGHT_500
Definition properties.h:547
@ CSS_FONT_WEIGHT_100
Definition properties.h:543
@ CSS_FONT_WEIGHT_600
Definition properties.h:548
@ CSS_FONT_WEIGHT_300
Definition properties.h:545
@ CSS_FONT_WEIGHT_700
Definition properties.h:549
@ CSS_FONT_WEIGHT_INHERIT
Definition properties.h:538
@ CSS_FONT_WEIGHT_800
Definition properties.h:550
@ CSS_FONT_WEIGHT_200
Definition properties.h:544
@ CSS_FONT_WEIGHT_NORMAL
Definition properties.h:539
@ CSS_FONT_WEIGHT_400
Definition properties.h:546
@ CSS_FONT_WEIGHT_900
Definition properties.h:551
@ CSS_FONT_WEIGHT_BOLD
Definition properties.h:540
@ CSS_PROP_LIST_STYLE_TYPE
Definition properties.h:64
@ CSS_PROP_COLUMN_WIDTH
Definition properties.h:127
@ CSS_PROP_PADDING_RIGHT
Definition properties.h:79
@ CSS_PROP_ELEVATION
Definition properties.h:50
@ CSS_PROP_ORPHANS
Definition properties.h:73
@ CSS_PROP_MIN_HEIGHT
Definition properties.h:71
@ CSS_PROP_AZIMUTH
Definition properties.h:17
@ CSS_PROP_OUTLINE_STYLE
Definition properties.h:75
@ CSS_PROP_FONT_VARIANT
Definition properties.h:56
@ CSS_PROP_BOTTOM
Definition properties.h:37
@ CSS_PROP_WRITING_MODE
Definition properties.h:128
@ CSS_PROP_PADDING_TOP
Definition properties.h:78
@ CSS_PROP_COLUMN_RULE_COLOR
Definition properties.h:123
@ CSS_PROP_BORDER_LEFT_COLOR
Definition properties.h:28
@ CSS_PROP_OUTLINE_WIDTH
Definition properties.h:76
@ CSS_PROP_CUE_BEFORE
Definition properties.h:46
@ CSS_PROP_BREAK_INSIDE
Definition properties.h:119
@ CSS_PROP_WORD_SPACING
Definition properties.h:114
@ CSS_PROP_PITCH
Definition properties.h:88
@ CSS_PROP_CLEAR
Definition properties.h:39
@ CSS_PROP_ORDER
Definition properties.h:140
@ CSS_PROP_UNICODE_BIDI
Definition properties.h:106
@ CSS_PROP_VOICE_FAMILY
Definition properties.h:109
@ CSS_PROP_LIST_STYLE_IMAGE
Definition properties.h:62
@ CSS_PROP_BORDER_COLLAPSE
Definition properties.h:23
@ CSS_PROP_COLUMN_RULE_WIDTH
Definition properties.h:125
@ CSS_PROP_HEIGHT
Definition properties.h:58
@ CSS_PROP_BORDER_RIGHT_WIDTH
Definition properties.h:34
@ CSS_PROP_CURSOR
Definition properties.h:47
@ CSS_PROP_PAGE_BREAK_INSIDE
Definition properties.h:84
@ CSS_PROP_FLEX_BASIS
Definition properties.h:134
@ CSS_PROP_TOP
Definition properties.h:105
@ CSS_PROP_COLUMN_COUNT
Definition properties.h:120
@ CSS_PROP_BORDER_SPACING
Definition properties.h:24
@ CSS_PROP_BACKGROUND_REPEAT
Definition properties.h:22
@ CSS_PROP_FONT_FAMILY
Definition properties.h:53
@ CSS_PROP_TEXT_ALIGN
Definition properties.h:101
@ CSS_PROP_STROKE_OPACITY
Definition properties.h:142
@ CSS_PROP_BREAK_AFTER
Definition properties.h:117
@ CSS_PROP_BORDER_TOP_STYLE
Definition properties.h:29
@ CSS_PROP_OUTLINE_COLOR
Definition properties.h:74
@ CSS_PROP_RIGHT
Definition properties.h:93
@ CSS_PROP_PADDING_BOTTOM
Definition properties.h:80
@ CSS_PROP_FLOAT
Definition properties.h:52
@ CSS_PROP_SPEECH_RATE
Definition properties.h:98
@ CSS_PROP_BORDER_TOP_WIDTH
Definition properties.h:33
@ CSS_PROP_MAX_WIDTH
Definition properties.h:70
@ CSS_PROP_COLUMN_SPAN
Definition properties.h:126
@ CSS_PROP_BORDER_RIGHT_STYLE
Definition properties.h:30
@ CSS_PROP_FILL_OPACITY
Definition properties.h:141
@ CSS_PROP_MAX_HEIGHT
Definition properties.h:69
@ CSS_PROP_TEXT_DECORATION
Definition properties.h:102
@ CSS_PROP_BACKGROUND_IMAGE
Definition properties.h:20
@ CSS_PROP_FONT_WEIGHT
Definition properties.h:57
@ CSS_PROP_DISPLAY
Definition properties.h:49
@ CSS_PROP_LEFT
Definition properties.h:59
@ CSS_PROP_RICHNESS
Definition properties.h:92
@ CSS_PROP_BORDER_TOP_COLOR
Definition properties.h:25
@ CSS_PROP_PITCH_RANGE
Definition properties.h:87
@ CSS_PROP_BACKGROUND_COLOR
Definition properties.h:19
@ CSS_PROP_EMPTY_CELLS
Definition properties.h:51
@ CSS_PROP_PAGE_BREAK_BEFORE
Definition properties.h:83
@ CSS_PROP_WIDTH
Definition properties.h:113
@ CSS_PROP_BORDER_LEFT_STYLE
Definition properties.h:32
@ CSS_PROP_COLUMN_FILL
Definition properties.h:121
@ CSS_PROP_ALIGN_CONTENT
Definition properties.h:131
@ CSS_PROP_COLUMN_RULE_STYLE
Definition properties.h:124
@ CSS_PROP_FONT_SIZE
Definition properties.h:54
@ CSS_PROP_BORDER_BOTTOM_WIDTH
Definition properties.h:35
@ CSS_PROP_BORDER_BOTTOM_STYLE
Definition properties.h:31
@ CSS_PROP_STRESS
Definition properties.h:99
@ CSS_PROP_FLEX_SHRINK
Definition properties.h:137
@ CSS_PROP_TEXT_TRANSFORM
Definition properties.h:104
@ CSS_PROP_BOX_SIZING
Definition properties.h:130
@ CSS_PROP_WHITE_SPACE
Definition properties.h:111
@ CSS_PROP_BREAK_BEFORE
Definition properties.h:118
@ CSS_PROP_BORDER_RIGHT_COLOR
Definition properties.h:26
@ CSS_PROP_MARGIN_RIGHT
Definition properties.h:66
@ CSS_PROP_COUNTER_RESET
Definition properties.h:44
@ CSS_PROP_OVERFLOW_Y
Definition properties.h:129
@ CSS_PROP_FONT_STYLE
Definition properties.h:55
@ CSS_PROP_CAPTION_SIDE
Definition properties.h:38
@ CSS_PROP_VERTICAL_ALIGN
Definition properties.h:107
@ CSS_PROP_OPACITY
Definition properties.h:116
@ CSS_PROP_VOLUME
Definition properties.h:110
@ CSS_PROP_LINE_HEIGHT
Definition properties.h:61
@ CSS_PROP_COUNTER_INCREMENT
Definition properties.h:43
@ CSS_PROP_MARGIN_LEFT
Definition properties.h:68
@ CSS_PROP_SPEAK_NUMERAL
Definition properties.h:95
@ CSS_PROP_PAGE_BREAK_AFTER
Definition properties.h:82
@ CSS_PROP_DIRECTION
Definition properties.h:48
@ CSS_PROP_JUSTIFY_CONTENT
Definition properties.h:139
@ CSS_PROP_TABLE_LAYOUT
Definition properties.h:100
@ CSS_PROP_LETTER_SPACING
Definition properties.h:60
@ CSS_PROP_Z_INDEX
Definition properties.h:115
@ CSS_PROP_ALIGN_ITEMS
Definition properties.h:132
@ CSS_PROP_MARGIN_TOP
Definition properties.h:65
@ CSS_PROP_MIN_WIDTH
Definition properties.h:72
@ CSS_PROP_BACKGROUND_ATTACHMENT
Definition properties.h:18
@ CSS_PROP_VISIBILITY
Definition properties.h:108
@ CSS_PROP_WIDOWS
Definition properties.h:112
@ CSS_PROP_FLEX_DIRECTION
Definition properties.h:135
@ CSS_PROP_PLAY_DURING
Definition properties.h:89
@ CSS_PROP_CUE_AFTER
Definition properties.h:45
@ CSS_PROP_CLIP
Definition properties.h:40
@ CSS_PROP_FLEX_GROW
Definition properties.h:136
@ CSS_PROP_PADDING_LEFT
Definition properties.h:81
@ CSS_PROP_PAUSE_BEFORE
Definition properties.h:86
@ CSS_PROP_OVERFLOW_X
Definition properties.h:77
@ CSS_PROP_SPEAK_PUNCTUATION
Definition properties.h:96
@ CSS_PROP_FLEX_WRAP
Definition properties.h:138
@ CSS_PROP_BORDER_LEFT_WIDTH
Definition properties.h:36
@ CSS_PROP_SPEAK
Definition properties.h:97
@ CSS_PROP_ALIGN_SELF
Definition properties.h:133
@ CSS_PROP_BORDER_BOTTOM_COLOR
Definition properties.h:27
@ CSS_PROP_COLUMN_GAP
Definition properties.h:122
@ CSS_PROP_CONTENT
Definition properties.h:42
@ CSS_PROP_MARGIN_BOTTOM
Definition properties.h:67
@ CSS_PROP_COLOR
Definition properties.h:41
@ CSS_PROP_LIST_STYLE_POSITION
Definition properties.h:63
@ CSS_PROP_QUOTES
Definition properties.h:91
@ CSS_PROP_BACKGROUND_POSITION
Definition properties.h:21
@ CSS_PROP_POSITION
Definition properties.h:90
@ CSS_PROP_SPEAK_HEADER
Definition properties.h:94
@ CSS_PROP_PAUSE_AFTER
Definition properties.h:85
@ CSS_PROP_TEXT_INDENT
Definition properties.h:103
dict style
Definition select_config.py:26
@ ELEVATION_LOWER
Definition opcodes.h:354
@ ELEVATION_LEVEL
Definition opcodes.h:351
@ ELEVATION_HIGHER
Definition opcodes.h:353
@ ELEVATION_BELOW
Definition opcodes.h:350
@ ELEVATION_ABOVE
Definition opcodes.h:352
@ ELEVATION_ANGLE
Definition opcodes.h:349
@ RIGHT_AUTO
Definition opcodes.h:718
@ RIGHT_SET
Definition opcodes.h:717
@ PADDING_SET
Definition opcodes.h:637
@ COUNTER_RESET_NONE
Definition opcodes.h:285
@ COUNTER_RESET_NAMED
Definition opcodes.h:283
@ COLUMN_SPAN_NONE
Definition opcodes.h:248
@ COLUMN_SPAN_ALL
Definition opcodes.h:249
@ COLUMN_FILL_AUTO
Definition opcodes.h:211
@ COLUMN_FILL_BALANCE
Definition opcodes.h:210
@ UNICODE_BIDI_EMBED
Definition opcodes.h:808
@ UNICODE_BIDI_NORMAL
Definition opcodes.h:807
@ UNICODE_BIDI_BIDI_OVERRIDE
Definition opcodes.h:809
@ BREAK_INSIDE_AUTO
Definition opcodes.h:167
@ BREAK_INSIDE_AVOID_PAGE
Definition opcodes.h:169
@ BREAK_INSIDE_AVOID
Definition opcodes.h:168
@ BREAK_INSIDE_AVOID_COLUMN
Definition opcodes.h:170
@ TEXT_DECORATION_UNDERLINE
Definition opcodes.h:785
@ TEXT_DECORATION_LINE_THROUGH
Definition opcodes.h:783
@ TEXT_DECORATION_NONE
Definition opcodes.h:780
@ TEXT_DECORATION_BLINK
Definition opcodes.h:782
@ TEXT_DECORATION_OVERLINE
Definition opcodes.h:784
op_text_indent
Definition opcodes.h:788
@ TEXT_INDENT_SET
Definition opcodes.h:790
@ BACKGROUND_ATTACHMENT_FIXED
Definition opcodes.h:61
@ BACKGROUND_ATTACHMENT_SCROLL
Definition opcodes.h:62
@ PITCH_RANGE_SET
Definition opcodes.h:673
@ EMPTY_CELLS_HIDE
Definition opcodes.h:359
@ EMPTY_CELLS_SHOW
Definition opcodes.h:358
@ FLEX_SHRINK_SET
Definition opcodes.h:388
@ VOICE_FAMILY_FEMALE
Definition opcodes.h:839
@ VOICE_FAMILY_STRING
Definition opcodes.h:833
@ VOICE_FAMILY_MALE
Definition opcodes.h:838
@ VOICE_FAMILY_IDENT_LIST
Definition opcodes.h:834
@ VOICE_FAMILY_END
Definition opcodes.h:836
@ VOICE_FAMILY_CHILD
Definition opcodes.h:840
@ VOLUME_DIMENSION
Definition opcodes.h:846
@ VOLUME_SOFT
Definition opcodes.h:850
@ VOLUME_MEDIUM
Definition opcodes.h:851
@ VOLUME_SILENT
Definition opcodes.h:848
@ VOLUME_LOUD
Definition opcodes.h:852
@ VOLUME_X_LOUD
Definition opcodes.h:853
@ VOLUME_NUMBER
Definition opcodes.h:845
@ VOLUME_X_SOFT
Definition opcodes.h:849
@ ALIGN_CONTENT_SPACE_AROUND
Definition opcodes.h:21
@ ALIGN_CONTENT_CENTER
Definition opcodes.h:19
@ ALIGN_CONTENT_FLEX_START
Definition opcodes.h:17
@ ALIGN_CONTENT_SPACE_BETWEEN
Definition opcodes.h:20
@ ALIGN_CONTENT_SPACE_EVENLY
Definition opcodes.h:22
@ ALIGN_CONTENT_STRETCH
Definition opcodes.h:16
@ ALIGN_CONTENT_FLEX_END
Definition opcodes.h:18
@ SPEAK_NUMERAL_CONTINUOUS
Definition opcodes.h:728
@ SPEAK_NUMERAL_DIGITS
Definition opcodes.h:727
op_min_height
Definition opcodes.h:575
@ MIN_HEIGHT_SET
Definition opcodes.h:577
@ MIN_HEIGHT_AUTO
Definition opcodes.h:578
op_background_image
Definition opcodes.h:71
@ BACKGROUND_IMAGE_NONE
Definition opcodes.h:73
@ BACKGROUND_IMAGE_URI
Definition opcodes.h:72
@ SPEAK_HEADER_ALWAYS
Definition opcodes.h:723
@ SPEAK_HEADER_ONCE
Definition opcodes.h:722
@ VERTICAL_ALIGN_TEXT_BOTTOM
Definition opcodes.h:823
@ VERTICAL_ALIGN_BASELINE
Definition opcodes.h:816
@ VERTICAL_ALIGN_SUB
Definition opcodes.h:817
@ VERTICAL_ALIGN_TEXT_TOP
Definition opcodes.h:820
@ VERTICAL_ALIGN_SET
Definition opcodes.h:814
@ VERTICAL_ALIGN_SUPER
Definition opcodes.h:818
@ VERTICAL_ALIGN_BOTTOM
Definition opcodes.h:822
@ VERTICAL_ALIGN_MIDDLE
Definition opcodes.h:821
@ VERTICAL_ALIGN_TOP
Definition opcodes.h:819
@ SPEECH_RATE_SET
Definition opcodes.h:744
@ SPEECH_RATE_SLOW
Definition opcodes.h:747
@ SPEECH_RATE_MEDIUM
Definition opcodes.h:748
@ SPEECH_RATE_X_SLOW
Definition opcodes.h:746
@ SPEECH_RATE_FASTER
Definition opcodes.h:751
@ SPEECH_RATE_X_FAST
Definition opcodes.h:750
@ SPEECH_RATE_FAST
Definition opcodes.h:749
@ SPEECH_RATE_SLOWER
Definition opcodes.h:752
@ BORDER_SPACING_SET
Definition opcodes.h:101
@ PAUSE_AFTER_SET
Definition opcodes.h:663
@ BACKGROUND_POSITION_VERT_SET
Definition opcodes.h:82
@ BACKGROUND_POSITION_VERT_CENTER
Definition opcodes.h:83
@ BACKGROUND_POSITION_HORZ_RIGHT
Definition opcodes.h:79
@ BACKGROUND_POSITION_HORZ_SET
Definition opcodes.h:77
@ BACKGROUND_POSITION_VERT_BOTTOM
Definition opcodes.h:84
@ BACKGROUND_POSITION_VERT_TOP
Definition opcodes.h:85
@ BACKGROUND_POSITION_HORZ_CENTER
Definition opcodes.h:78
@ BACKGROUND_POSITION_HORZ_LEFT
Definition opcodes.h:80
op_letter_spacing
Definition opcodes.h:479
@ LETTER_SPACING_SET
Definition opcodes.h:481
@ LETTER_SPACING_NORMAL
Definition opcodes.h:482
@ BORDER_COLOR_SET
Definition opcodes.h:107
@ BORDER_COLOR_TRANSPARENT
Definition opcodes.h:105
@ BORDER_COLOR_CURRENT_COLOR
Definition opcodes.h:106
op_border_style
Definition opcodes.h:110
@ BORDER_STYLE_DOTTED
Definition opcodes.h:113
@ BORDER_STYLE_DOUBLE
Definition opcodes.h:116
@ BORDER_STYLE_NONE
Definition opcodes.h:111
@ BORDER_STYLE_OUTSET
Definition opcodes.h:120
@ BORDER_STYLE_DASHED
Definition opcodes.h:114
@ BORDER_STYLE_GROOVE
Definition opcodes.h:117
@ BORDER_STYLE_HIDDEN
Definition opcodes.h:112
@ BORDER_STYLE_SOLID
Definition opcodes.h:115
@ BORDER_STYLE_INSET
Definition opcodes.h:119
@ BORDER_STYLE_RIDGE
Definition opcodes.h:118
@ BOX_SIZING_CONTENT_BOX
Definition opcodes.h:138
@ BOX_SIZING_BORDER_BOX
Definition opcodes.h:139
@ LIST_STYLE_TYPE_CIRCLE
Definition opcodes.h:504
@ LIST_STYLE_TYPE_LOWER_GREEK
Definition opcodes.h:510
@ LIST_STYLE_TYPE_LOWER_ALPHA
Definition opcodes.h:515
@ LIST_STYLE_TYPE_DECIMAL
Definition opcodes.h:506
@ LIST_STYLE_TYPE_UPPER_ALPHA
Definition opcodes.h:516
@ LIST_STYLE_TYPE_SQUARE
Definition opcodes.h:505
@ LIST_STYLE_TYPE_UPPER_LATIN
Definition opcodes.h:512
@ LIST_STYLE_TYPE_LOWER_ROMAN
Definition opcodes.h:508
@ LIST_STYLE_TYPE_ARMENIAN
Definition opcodes.h:513
@ LIST_STYLE_TYPE_UPPER_ROMAN
Definition opcodes.h:509
@ LIST_STYLE_TYPE_LOWER_LATIN
Definition opcodes.h:511
@ LIST_STYLE_TYPE_DISC
Definition opcodes.h:503
@ LIST_STYLE_TYPE_GEORGIAN
Definition opcodes.h:514
@ LIST_STYLE_TYPE_NONE
Definition opcodes.h:517
@ LIST_STYLE_TYPE_DECIMAL_LEADING_ZERO
Definition opcodes.h:507
@ BREAK_BEFORE_PAGE
Definition opcodes.h:160
@ BREAK_BEFORE_AVOID_PAGE
Definition opcodes.h:162
@ BREAK_BEFORE_RIGHT
Definition opcodes.h:159
@ BREAK_BEFORE_COLUMN
Definition opcodes.h:161
@ BREAK_BEFORE_AVOID_COLUMN
Definition opcodes.h:163
@ BREAK_BEFORE_LEFT
Definition opcodes.h:158
@ BREAK_BEFORE_AUTO
Definition opcodes.h:155
@ BREAK_BEFORE_AVOID
Definition opcodes.h:157
@ BREAK_BEFORE_ALWAYS
Definition opcodes.h:156
op_border_width
Definition opcodes.h:123
@ BORDER_WIDTH_MEDIUM
Definition opcodes.h:127
@ BORDER_WIDTH_THIN
Definition opcodes.h:126
@ BORDER_WIDTH_SET
Definition opcodes.h:125
@ BORDER_WIDTH_THICK
Definition opcodes.h:128
@ ALIGN_SELF_AUTO
Definition opcodes.h:39
@ ALIGN_SELF_BASELINE
Definition opcodes.h:38
@ ALIGN_SELF_FLEX_START
Definition opcodes.h:35
@ ALIGN_SELF_FLEX_END
Definition opcodes.h:36
@ ALIGN_SELF_CENTER
Definition opcodes.h:37
@ ALIGN_SELF_STRETCH
Definition opcodes.h:34
@ QUOTES_STRING
Definition opcodes.h:706
@ QUOTES_NONE
Definition opcodes.h:708
@ PLAY_DURING_AUTO
Definition opcodes.h:693
@ PLAY_DURING_URI
Definition opcodes.h:689
@ PLAY_DURING_REPEAT
Definition opcodes.h:691
@ PLAY_DURING_MIX
Definition opcodes.h:690
@ PLAY_DURING_NONE
Definition opcodes.h:694
@ TABLE_LAYOUT_AUTO
Definition opcodes.h:765
@ TABLE_LAYOUT_FIXED
Definition opcodes.h:766
@ LIST_STYLE_POSITION_INSIDE
Definition opcodes.h:498
@ LIST_STYLE_POSITION_OUTSIDE
Definition opcodes.h:499
@ HEIGHT_SET
Definition opcodes.h:460
@ HEIGHT_AUTO
Definition opcodes.h:461
@ OPACITY_SET
Definition opcodes.h:588
@ FLEX_DIRECTION_COLUMN
Definition opcodes.h:377
@ FLEX_DIRECTION_ROW
Definition opcodes.h:375
@ FLEX_DIRECTION_COLUMN_REVERSE
Definition opcodes.h:378
@ FLEX_DIRECTION_ROW_REVERSE
Definition opcodes.h:376
@ OUTLINE_WIDTH_THIN
Definition opcodes.h:623
@ OUTLINE_WIDTH_THICK
Definition opcodes.h:625
@ OUTLINE_WIDTH_MEDIUM
Definition opcodes.h:624
@ OUTLINE_WIDTH_SET
Definition opcodes.h:622
@ CAPTION_SIDE_BOTTOM
Definition opcodes.h:175
@ CAPTION_SIDE_TOP
Definition opcodes.h:174
@ COLUMN_COUNT_SET
Definition opcodes.h:206
@ COLUMN_COUNT_AUTO
Definition opcodes.h:204
@ WIDTH_SET
Definition opcodes.h:871
@ WIDTH_AUTO
Definition opcodes.h:873
@ LEFT_SET
Definition opcodes.h:475
@ LEFT_AUTO
Definition opcodes.h:476
op_max_height
Definition opcodes.h:563
@ MAX_HEIGHT_SET
Definition opcodes.h:565
@ MAX_HEIGHT_NONE
Definition opcodes.h:566
@ MIN_WIDTH_AUTO
Definition opcodes.h:584
@ MIN_WIDTH_SET
Definition opcodes.h:583
@ BORDER_COLLAPSE_COLLAPSE
Definition opcodes.h:97
@ BORDER_COLLAPSE_SEPARATE
Definition opcodes.h:96
@ Z_INDEX_SET
Definition opcodes.h:891
@ Z_INDEX_AUTO
Definition opcodes.h:893
@ OUTLINE_STYLE_DOTTED
Definition opcodes.h:611
@ OUTLINE_STYLE_DASHED
Definition opcodes.h:612
@ OUTLINE_STYLE_DOUBLE
Definition opcodes.h:614
@ OUTLINE_STYLE_RIDGE
Definition opcodes.h:616
@ OUTLINE_STYLE_HIDDEN
Definition opcodes.h:610
@ OUTLINE_STYLE_GROOVE
Definition opcodes.h:615
@ OUTLINE_STYLE_SOLID
Definition opcodes.h:613
@ OUTLINE_STYLE_NONE
Definition opcodes.h:609
@ OUTLINE_STYLE_OUTSET
Definition opcodes.h:618
@ OUTLINE_STYLE_INSET
Definition opcodes.h:617
@ LIST_STYLE_IMAGE_URI
Definition opcodes.h:493
@ LIST_STYLE_IMAGE_NONE
Definition opcodes.h:494
@ PAGE_BREAK_BEFORE_LEFT
Definition opcodes.h:652
@ PAGE_BREAK_BEFORE_ALWAYS
Definition opcodes.h:650
@ PAGE_BREAK_BEFORE_RIGHT
Definition opcodes.h:653
@ PAGE_BREAK_BEFORE_AUTO
Definition opcodes.h:649
@ PAGE_BREAK_BEFORE_AVOID
Definition opcodes.h:651
@ FLEX_WRAP_NOWRAP
Definition opcodes.h:392
@ FLEX_WRAP_WRAP
Definition opcodes.h:393
@ FLEX_WRAP_WRAP_REVERSE
Definition opcodes.h:394
@ MAX_WIDTH_SET
Definition opcodes.h:571
@ MAX_WIDTH_NONE
Definition opcodes.h:572
@ CURSOR_URI
Definition opcodes.h:299
@ CURSOR_W_RESIZE
Definition opcodes.h:313
@ CURSOR_E_RESIZE
Definition opcodes.h:306
@ CURSOR_N_RESIZE
Definition opcodes.h:309
@ CURSOR_SE_RESIZE
Definition opcodes.h:310
@ CURSOR_S_RESIZE
Definition opcodes.h:312
@ CURSOR_POINTER
Definition opcodes.h:304
@ CURSOR_AUTO
Definition opcodes.h:301
@ CURSOR_SW_RESIZE
Definition opcodes.h:311
@ CURSOR_PROGRESS
Definition opcodes.h:317
@ CURSOR_HELP
Definition opcodes.h:316
@ CURSOR_NE_RESIZE
Definition opcodes.h:307
@ CURSOR_WAIT
Definition opcodes.h:315
@ CURSOR_MOVE
Definition opcodes.h:305
@ CURSOR_DEFAULT
Definition opcodes.h:303
@ CURSOR_TEXT
Definition opcodes.h:314
@ CURSOR_CROSSHAIR
Definition opcodes.h:302
@ CURSOR_NW_RESIZE
Definition opcodes.h:308
@ TOP_AUTO
Definition opcodes.h:803
@ TOP_SET
Definition opcodes.h:802
@ WRITING_MODE_HORIZONTAL_TB
Definition opcodes.h:884
@ WRITING_MODE_VERTICAL_RL
Definition opcodes.h:885
@ WRITING_MODE_VERTICAL_LR
Definition opcodes.h:886
@ FLEX_BASIS_AUTO
Definition opcodes.h:368
@ FLEX_BASIS_CONTENT
Definition opcodes.h:369
@ FLEX_BASIS_SET
Definition opcodes.h:371
@ AZIMUTH_LEFT
Definition opcodes.h:51
@ AZIMUTH_RIGHT_SIDE
Definition opcodes.h:57
@ AZIMUTH_FAR_RIGHT
Definition opcodes.h:56
@ AZIMUTH_RIGHTWARDS
Definition opcodes.h:46
@ AZIMUTH_RIGHT
Definition opcodes.h:55
@ AZIMUTH_LEFTWARDS
Definition opcodes.h:45
@ AZIMUTH_ANGLE
Definition opcodes.h:43
@ AZIMUTH_LEFT_SIDE
Definition opcodes.h:49
@ AZIMUTH_BEHIND
Definition opcodes.h:48
@ AZIMUTH_CENTER_LEFT
Definition opcodes.h:52
@ AZIMUTH_CENTER
Definition opcodes.h:53
@ AZIMUTH_FAR_LEFT
Definition opcodes.h:50
@ AZIMUTH_CENTER_RIGHT
Definition opcodes.h:54
@ CUE_AFTER_NONE
Definition opcodes.h:290
@ CUE_AFTER_URI
Definition opcodes.h:289
@ OVERFLOW_SCROLL
Definition opcodes.h:631
@ OVERFLOW_VISIBLE
Definition opcodes.h:629
@ OVERFLOW_AUTO
Definition opcodes.h:632
@ OVERFLOW_HIDDEN
Definition opcodes.h:630
@ CLIP_RECT_BOTTOM_AUTO
Definition opcodes.h:191
@ CLIP_RECT_TOP_AUTO
Definition opcodes.h:189
@ CLIP_RECT_RIGHT_AUTO
Definition opcodes.h:190
@ CLIP_RECT_LEFT_AUTO
Definition opcodes.h:192
@ CLIP_SHAPE_RECT
Definition opcodes.h:187
@ CLIP_SHAPE_MASK
Definition opcodes.h:186
op_counter_increment
Definition opcodes.h:276
@ COUNTER_INCREMENT_NAMED
Definition opcodes.h:277
@ COUNTER_INCREMENT_NONE
Definition opcodes.h:279
@ STROKE_OPACITY_SET
Definition opcodes.h:761
@ OUTLINE_COLOR_CURRENT_COLOR
Definition opcodes.h:603
@ OUTLINE_COLOR_INVERT
Definition opcodes.h:604
@ OUTLINE_COLOR_TRANSPARENT
Definition opcodes.h:602
@ OUTLINE_COLOR_SET
Definition opcodes.h:605
@ RICHNESS_SET
Definition opcodes.h:713
@ COLUMN_GAP_NORMAL
Definition opcodes.h:215
@ COLUMN_GAP_SET
Definition opcodes.h:217
@ CUE_BEFORE_URI
Definition opcodes.h:294
@ CUE_BEFORE_NONE
Definition opcodes.h:295
@ LINE_HEIGHT_NORMAL
Definition opcodes.h:489
@ LINE_HEIGHT_DIMENSION
Definition opcodes.h:488
@ LINE_HEIGHT_NUMBER
Definition opcodes.h:487
@ FILL_OPACITY_SET
Definition opcodes.h:363
@ STRESS_SET
Definition opcodes.h:757
@ WORD_SPACING_SET
Definition opcodes.h:878
@ WORD_SPACING_NORMAL
Definition opcodes.h:880
@ COLOR_SET
Definition opcodes.h:200
@ COLOR_CURRENT_COLOR
Definition opcodes.h:199
@ COLOR_TRANSPARENT
Definition opcodes.h:198
op_orphans
Definition opcodes.h:596
@ ORPHANS_SET
Definition opcodes.h:598
@ COLUMN_WIDTH_SET
Definition opcodes.h:255
@ COLUMN_WIDTH_AUTO
Definition opcodes.h:253
@ WHITE_SPACE_PRE_WRAP
Definition opcodes.h:860
@ WHITE_SPACE_NOWRAP
Definition opcodes.h:859
@ WHITE_SPACE_PRE_LINE
Definition opcodes.h:861
@ WHITE_SPACE_NORMAL
Definition opcodes.h:857
@ WHITE_SPACE_PRE
Definition opcodes.h:858
@ WIDOWS_SET
Definition opcodes.h:866
op_break_after
Definition opcodes.h:142
@ BREAK_AFTER_AUTO
Definition opcodes.h:143
@ BREAK_AFTER_RIGHT
Definition opcodes.h:147
@ BREAK_AFTER_AVOID_PAGE
Definition opcodes.h:150
@ BREAK_AFTER_AVOID_COLUMN
Definition opcodes.h:151
@ BREAK_AFTER_LEFT
Definition opcodes.h:146
@ BREAK_AFTER_COLUMN
Definition opcodes.h:149
@ BREAK_AFTER_AVOID
Definition opcodes.h:145
@ BREAK_AFTER_PAGE
Definition opcodes.h:148
@ BREAK_AFTER_ALWAYS
Definition opcodes.h:144
@ CONTENT_NO_CLOSE_QUOTE
Definition opcodes.h:273
@ CONTENT_NORMAL
Definition opcodes.h:268
@ CONTENT_COUNTERS
Definition opcodes.h:262
@ CONTENT_ATTR
Definition opcodes.h:263
@ CONTENT_CLOSE_QUOTE
Definition opcodes.h:271
@ CONTENT_NO_OPEN_QUOTE
Definition opcodes.h:272
@ CONTENT_COUNTER
Definition opcodes.h:261
@ CONTENT_NONE
Definition opcodes.h:269
@ CONTENT_URI
Definition opcodes.h:260
@ CONTENT_STRING
Definition opcodes.h:259
@ CONTENT_OPEN_QUOTE
Definition opcodes.h:270
@ CONTENT_COUNTER_STYLE_SHIFT
Definition opcodes.h:265
@ PAGE_BREAK_INSIDE_AVOID
Definition opcodes.h:658
@ PAGE_BREAK_INSIDE_AUTO
Definition opcodes.h:657
@ DIRECTION_LTR
Definition opcodes.h:321
@ DIRECTION_RTL
Definition opcodes.h:322
@ VISIBILITY_HIDDEN
Definition opcodes.h:828
@ VISIBILITY_VISIBLE
Definition opcodes.h:827
@ VISIBILITY_COLLAPSE
Definition opcodes.h:829
@ COLUMN_RULE_STYLE_OUTSET
Definition opcodes.h:236
@ COLUMN_RULE_STYLE_DOTTED
Definition opcodes.h:229
@ COLUMN_RULE_STYLE_DOUBLE
Definition opcodes.h:232
@ COLUMN_RULE_STYLE_GROOVE
Definition opcodes.h:233
@ COLUMN_RULE_STYLE_INSET
Definition opcodes.h:235
@ COLUMN_RULE_STYLE_RIDGE
Definition opcodes.h:234
@ COLUMN_RULE_STYLE_HIDDEN
Definition opcodes.h:228
@ COLUMN_RULE_STYLE_DASHED
Definition opcodes.h:230
@ COLUMN_RULE_STYLE_SOLID
Definition opcodes.h:231
@ COLUMN_RULE_STYLE_NONE
Definition opcodes.h:227
@ FONT_WEIGHT_300
Definition opcodes.h:449
@ FONT_WEIGHT_100
Definition opcodes.h:447
@ FONT_WEIGHT_BOLDER
Definition opcodes.h:445
@ FONT_WEIGHT_200
Definition opcodes.h:448
@ FONT_WEIGHT_400
Definition opcodes.h:450
@ FONT_WEIGHT_600
Definition opcodes.h:452
@ FONT_WEIGHT_LIGHTER
Definition opcodes.h:446
@ FONT_WEIGHT_BOLD
Definition opcodes.h:444
@ FONT_WEIGHT_900
Definition opcodes.h:455
@ FONT_WEIGHT_800
Definition opcodes.h:454
@ FONT_WEIGHT_NORMAL
Definition opcodes.h:443
@ FONT_WEIGHT_700
Definition opcodes.h:453
@ FONT_WEIGHT_500
Definition opcodes.h:451
@ FLOAT_NONE
Definition opcodes.h:400
@ FLOAT_LEFT
Definition opcodes.h:398
@ FLOAT_RIGHT
Definition opcodes.h:399
@ ORDER_SET
Definition opcodes.h:593
@ ALIGN_ITEMS_FLEX_END
Definition opcodes.h:28
@ ALIGN_ITEMS_FLEX_START
Definition opcodes.h:27
@ ALIGN_ITEMS_CENTER
Definition opcodes.h:29
@ ALIGN_ITEMS_STRETCH
Definition opcodes.h:26
@ ALIGN_ITEMS_BASELINE
Definition opcodes.h:30
@ JUSTIFY_CONTENT_SPACE_EVENLY
Definition opcodes.h:470
@ JUSTIFY_CONTENT_SPACE_AROUND
Definition opcodes.h:469
@ JUSTIFY_CONTENT_FLEX_END
Definition opcodes.h:466
@ JUSTIFY_CONTENT_CENTER
Definition opcodes.h:467
@ JUSTIFY_CONTENT_FLEX_START
Definition opcodes.h:465
@ JUSTIFY_CONTENT_SPACE_BETWEEN
Definition opcodes.h:468
@ TEXT_TRANSFORM_UPPERCASE
Definition opcodes.h:795
@ TEXT_TRANSFORM_LOWERCASE
Definition opcodes.h:796
@ TEXT_TRANSFORM_NONE
Definition opcodes.h:797
@ TEXT_TRANSFORM_CAPITALIZE
Definition opcodes.h:794
@ PAUSE_BEFORE_SET
Definition opcodes.h:668
@ FONT_VARIANT_SMALL_CAPS
Definition opcodes.h:439
@ FONT_VARIANT_NORMAL
Definition opcodes.h:438
@ FONT_SIZE_SMALLER
Definition opcodes.h:428
@ FONT_SIZE_DIMENSION
Definition opcodes.h:418
@ FONT_SIZE_XX_LARGE
Definition opcodes.h:426
@ FONT_SIZE_LARGE
Definition opcodes.h:424
@ FONT_SIZE_LARGER
Definition opcodes.h:427
@ FONT_SIZE_MEDIUM
Definition opcodes.h:423
@ FONT_SIZE_X_LARGE
Definition opcodes.h:425
@ FONT_SIZE_SMALL
Definition opcodes.h:422
@ FONT_SIZE_XX_SMALL
Definition opcodes.h:420
@ FONT_SIZE_X_SMALL
Definition opcodes.h:421
@ FONT_FAMILY_SANS_SERIF
Definition opcodes.h:410
@ FONT_FAMILY_MONOSPACE
Definition opcodes.h:413
@ FONT_FAMILY_IDENT_LIST
Definition opcodes.h:405
@ FONT_FAMILY_STRING
Definition opcodes.h:404
@ FONT_FAMILY_END
Definition opcodes.h:407
@ FONT_FAMILY_CURSIVE
Definition opcodes.h:411
@ FONT_FAMILY_SERIF
Definition opcodes.h:409
@ FONT_FAMILY_FANTASY
Definition opcodes.h:412
op_bottom
Definition opcodes.h:131
@ BOTTOM_AUTO
Definition opcodes.h:134
@ BOTTOM_SET
Definition opcodes.h:133
@ FONT_STYLE_NORMAL
Definition opcodes.h:432
@ FONT_STYLE_OBLIQUE
Definition opcodes.h:434
@ FONT_STYLE_ITALIC
Definition opcodes.h:433
@ DISPLAY_INLINE_BLOCK
Definition opcodes.h:330
@ DISPLAY_LIST_ITEM
Definition opcodes.h:328
@ DISPLAY_TABLE
Definition opcodes.h:331
@ DISPLAY_TABLE_COLUMN
Definition opcodes.h:338
@ DISPLAY_INLINE
Definition opcodes.h:326
@ DISPLAY_TABLE_CELL
Definition opcodes.h:339
@ DISPLAY_TABLE_COLUMN_GROUP
Definition opcodes.h:337
@ DISPLAY_TABLE_ROW_GROUP
Definition opcodes.h:333
@ DISPLAY_TABLE_ROW
Definition opcodes.h:336
@ DISPLAY_FLEX
Definition opcodes.h:342
@ DISPLAY_INLINE_FLEX
Definition opcodes.h:343
@ DISPLAY_TABLE_FOOTER_GROUP
Definition opcodes.h:335
@ DISPLAY_INLINE_TABLE
Definition opcodes.h:332
@ DISPLAY_BLOCK
Definition opcodes.h:327
@ DISPLAY_TABLE_HEADER_GROUP
Definition opcodes.h:334
@ DISPLAY_RUN_IN
Definition opcodes.h:329
@ DISPLAY_NONE
Definition opcodes.h:341
@ DISPLAY_TABLE_CAPTION
Definition opcodes.h:340
@ PITCH_X_HIGH
Definition opcodes.h:684
@ PITCH_FREQUENCY
Definition opcodes.h:678
@ PITCH_X_LOW
Definition opcodes.h:680
@ PITCH_LOW
Definition opcodes.h:681
@ PITCH_HIGH
Definition opcodes.h:683
@ PITCH_MEDIUM
Definition opcodes.h:682
@ BACKGROUND_REPEAT_REPEAT_Y
Definition opcodes.h:91
@ BACKGROUND_REPEAT_NO_REPEAT
Definition opcodes.h:89
@ BACKGROUND_REPEAT_REPEAT_X
Definition opcodes.h:90
@ BACKGROUND_REPEAT_REPEAT
Definition opcodes.h:92
@ SPEAK_NONE
Definition opcodes.h:738
@ SPEAK_SPELL_OUT
Definition opcodes.h:739
@ SPEAK_NORMAL
Definition opcodes.h:737
op_page_break_after
Definition opcodes.h:640
@ PAGE_BREAK_AFTER_AVOID
Definition opcodes.h:643
@ PAGE_BREAK_AFTER_RIGHT
Definition opcodes.h:645
@ PAGE_BREAK_AFTER_ALWAYS
Definition opcodes.h:642
@ PAGE_BREAK_AFTER_LEFT
Definition opcodes.h:644
@ PAGE_BREAK_AFTER_AUTO
Definition opcodes.h:641
@ SPEAK_PUNCTUATION_CODE
Definition opcodes.h:732
@ SPEAK_PUNCTUATION_NONE
Definition opcodes.h:733
@ MARGIN_SET
Definition opcodes.h:559
@ MARGIN_AUTO
Definition opcodes.h:560
op_background_color
Definition opcodes.h:65
@ BACKGROUND_COLOR_TRANSPARENT
Definition opcodes.h:66
@ BACKGROUND_COLOR_CURRENT_COLOR
Definition opcodes.h:67
@ BACKGROUND_COLOR_SET
Definition opcodes.h:68
@ POSITION_FIXED
Definition opcodes.h:701
@ POSITION_RELATIVE
Definition opcodes.h:699
@ POSITION_STATIC
Definition opcodes.h:698
@ POSITION_ABSOLUTE
Definition opcodes.h:700
@ TEXT_ALIGN_LIBCSS_CENTER
Definition opcodes.h:775
@ TEXT_ALIGN_LEFT
Definition opcodes.h:770
@ TEXT_ALIGN_JUSTIFY
Definition opcodes.h:773
@ TEXT_ALIGN_CENTER
Definition opcodes.h:772
@ TEXT_ALIGN_LIBCSS_LEFT
Definition opcodes.h:774
@ TEXT_ALIGN_LIBCSS_RIGHT
Definition opcodes.h:776
@ TEXT_ALIGN_RIGHT
Definition opcodes.h:771
@ CLEAR_LEFT
Definition opcodes.h:180
@ CLEAR_BOTH
Definition opcodes.h:182
@ CLEAR_NONE
Definition opcodes.h:179
@ CLEAR_RIGHT
Definition opcodes.h:181
@ FLEX_GROW_SET
Definition opcodes.h:383
@ CSS_RULE_PAGE
Definition stylesheet.h:105
@ CSS_RULE_SELECTOR
Definition stylesheet.h:100
@ CSS_RULE_MEDIA
Definition stylesheet.h:103
@ CSS_RULE_CHARSET
Definition stylesheet.h:101
@ CSS_RULE_IMPORT
Definition stylesheet.h:102
@ CSS_RULE_FONT_FACE
Definition stylesheet.h:104
@ CSS_SELECTOR_DETAIL_VALUE_STRING
Definition stylesheet.h:60
@ CSS_COMBINATOR_ANCESTOR
Definition stylesheet.h:53
@ CSS_COMBINATOR_GENERIC_SIBLING
Definition stylesheet.h:56
@ CSS_COMBINATOR_SIBLING
Definition stylesheet.h:55
@ CSS_COMBINATOR_PARENT
Definition stylesheet.h:54
@ CSS_COMBINATOR_NONE
Definition stylesheet.h:52
@ CSS_SELECTOR_ATTRIBUTE_PREFIX
Definition stylesheet.h:46
@ CSS_SELECTOR_ATTRIBUTE_SUBSTRING
Definition stylesheet.h:48
@ CSS_SELECTOR_ATTRIBUTE_INCLUDES
Definition stylesheet.h:45
@ CSS_SELECTOR_CLASS
Definition stylesheet.h:38
@ CSS_SELECTOR_ID
Definition stylesheet.h:39
@ CSS_SELECTOR_ATTRIBUTE_EQUAL
Definition stylesheet.h:43
@ CSS_SELECTOR_ATTRIBUTE_DASHMATCH
Definition stylesheet.h:44
@ CSS_SELECTOR_ATTRIBUTE_SUFFIX
Definition stylesheet.h:47
@ CSS_SELECTOR_PSEUDO_CLASS
Definition stylesheet.h:40
@ CSS_SELECTOR_PSEUDO_ELEMENT
Definition stylesheet.h:41
@ CSS_SELECTOR_ELEMENT
Definition stylesheet.h:37
@ CSS_SELECTOR_ATTRIBUTE
Definition stylesheet.h:42
Definition font_face.h:15
Definition font_face.h:26
uint32_t n_srcs
Definition font_face.h:29
css_font_face_src * srcs
Definition font_face.h:28
lwc_string * font_family
Definition font_face.h:27
uint32_t negate_type
Definition mq.h:80
lwc_string * name
Definition types.h:259
Definition stylesheet.h:164
lwc_string * encoding
Definition stylesheet.h:167
Definition stylesheet.h:142
css_font_face * font_face
Definition stylesheet.h:145
Definition stylesheet.h:155
lwc_string * url
Definition stylesheet.h:158
Definition stylesheet.h:148
css_selector * selector
Definition stylesheet.h:151
css_style * style
Definition stylesheet.h:152
Definition stylesheet.h:126
css_style * style
Definition stylesheet.h:130
css_selector ** selectors
Definition stylesheet.h:129
css_rule base
Definition stylesheet.h:127
Definition stylesheet.h:113
css_rule * next
Definition stylesheet.h:117
uint16_t items
Definition stylesheet.h:121
uint8_t type
Definition stylesheet.h:122
Definition stylesheet.h:72
unsigned int negate
Definition stylesheet.h:81
unsigned int type
Definition stylesheet.h:76
css_qname qname
Definition stylesheet.h:73
unsigned int comb
Definition stylesheet.h:77
unsigned int next
Definition stylesheet.h:79
unsigned int value_type
Definition stylesheet.h:80
css_selector_detail_value value
Definition stylesheet.h:74
Definition stylesheet.h:84
css_selector_detail data
Definition stylesheet.h:95
css_selector * combinator
Definition stylesheet.h:85
Definition stylesheet.h:29
Definition stylesheet.h:170
css_rule * rule_list
Definition stylesheet.h:174
css_error css__stylesheet_string_get(css_stylesheet *sheet, uint32_t string_number, lwc_string **string)
Definition stylesheet.c:105
#define assert(expr)
Definition testutils.h:32
lwc_string * string
Definition stylesheet.h:65
struct css_selector_detail_value::@23 nth
int32_t a
Definition stylesheet.h:67
int32_t b
Definition stylesheet.h:68