From 913498394ccac510785e8835ee951e1f46a2c099 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Thu, 24 Jun 2004 00:07:28 +0000 Subject: [project @ 2004-06-24 00:07:28 by jmb] Support for background: meta-property. background-position isn't handled here. this needs fixing. svn path=/import/netsurf/; revision=1001 --- css/ruleset.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'css') diff --git a/css/ruleset.c b/css/ruleset.c index 53aef472c..0e3a7d763 100644 --- a/css/ruleset.c +++ b/css/ruleset.c @@ -528,11 +528,38 @@ colour parse_colour(const struct css_node * const v) void parse_background(struct css_style * const s, const struct css_node * v) { colour c; + css_background_attachment ba; + css_background_repeat br; for (; v; v = v->next) { switch (v->type) { + /**\todo background-position */ + case CSS_NODE_URI: + case CSS_NODE_STRING: + parse_background_image(s, v); + break; + /*case CSS_NODE_DIMENSION: + case CSS_NODE_PERCENTAGE: + parse_background_position(s, v); + v = v->naxt; + break;*/ + case CSS_NODE_IDENT: + /* background-attachment */ + ba = css_background_attachment_parse(v->data, v->data_length); + if (ba != CSS_BACKGROUND_ATTACHMENT_UNKNOWN) { + s->background_attachment = ba; + break; + } + + /* background-repeat */ + br = css_background_repeat_parse(v->data, v->data_length); + if (br != CSS_BACKGROUND_REPEAT_UNKNOWN) { + s->background_repeat = br; + break; + } + + /* fall through */ case CSS_NODE_HASH: case CSS_NODE_FUNCTION: - case CSS_NODE_IDENT: c = parse_colour(v); if (c != CSS_COLOR_NONE) s->background_color = c; -- cgit v1.2.3