summaryrefslogtreecommitdiff
path: root/src/parse/properties/css_property_parser_gen.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2011-01-29 17:53:22 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2011-01-29 17:53:22 +0000
commit1b13f81b8259f4416df7b3063cb280cb977722d7 (patch)
tree5e34f4150c1fc3bcdcd436781f4799571a40cbd4 /src/parse/properties/css_property_parser_gen.c
parent9838246d69a3d48a8d0d286ecbfcd1faa199ae91 (diff)
downloadlibcss-1b13f81b8259f4416df7b3063cb280cb977722d7.tar.gz
libcss-1b13f81b8259f4416df7b3063cb280cb977722d7.tar.bz2
Centralise handling of transparent colours.
Add support for currentColor svn path=/trunk/libcss/; revision=11525
Diffstat (limited to 'src/parse/properties/css_property_parser_gen.c')
-rw-r--r--src/parse/properties/css_property_parser_gen.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/parse/properties/css_property_parser_gen.c b/src/parse/properties/css_property_parser_gen.c
index ae1fa04..dec4745 100644
--- a/src/parse/properties/css_property_parser_gen.c
+++ b/src/parse/properties/css_property_parser_gen.c
@@ -268,27 +268,26 @@ void output_number(FILE *outputf, struct keyval *parseid, struct keyval_list *kv
void output_color(FILE *outputf, struct keyval *parseid, struct keyval_list *kvlist)
{
- struct keyval *ckv = kvlist->item[0];
-
fprintf(outputf,
"{\n"
+ "\t\tuint16_t value = 0;\n"
"\t\tuint32_t color = 0;\n"
"\t\t*ctx = orig_ctx;\n\n"
- "\t\terror = css__parse_colour_specifier(c, vector, ctx, &color);\n"
+ "\t\terror = css__parse_colour_specifier(c, vector, ctx, &value, &color);\n"
"\t\tif (error != CSS_OK) {\n"
"\t\t\t*ctx = orig_ctx;\n"
"\t\t\treturn error;\n"
"\t\t}\n\n"
- "\t\terror = css__stylesheet_style_appendOPV(result, %s, 0, %s);\n"
+ "\t\terror = css__stylesheet_style_appendOPV(result, %s, 0, value);\n"
"\t\tif (error != CSS_OK) {\n"
"\t\t\t*ctx = orig_ctx;\n"
"\t\t\treturn error;\n"
"\t\t}\n"
"\n"
- "\t\terror = css__stylesheet_style_append(result, color);\n"
+ "\t\tif (value == COLOR_SET)\n"
+ "\t\t\terror = css__stylesheet_style_append(result, color);\n"
"\t}\n\n",
- parseid->val,
- ckv->val);
+ parseid->val);
}
void output_length_unit(FILE *outputf, struct keyval *parseid, struct keyval_list *kvlist)