summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2004-06-24 00:07:28 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2004-06-24 00:07:28 +0000
commit913498394ccac510785e8835ee951e1f46a2c099 (patch)
tree36143b718df41299c5ddbd2999eae837b7b1c5ae
parent958f5828d130ec9a219616fbf0447e2b316cf132 (diff)
downloadnetsurf-913498394ccac510785e8835ee951e1f46a2c099.tar.gz
netsurf-913498394ccac510785e8835ee951e1f46a2c099.tar.bz2
[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
-rw-r--r--css/ruleset.c29
1 files changed, 28 insertions, 1 deletions
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;