diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2004-07-16 20:22:31 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2004-07-16 20:22:31 +0000 |
commit | 6560a2ae5f68831bec809e9ee847ac0e36ff011d (patch) | |
tree | d7e81e586dbc3e8986dfb34a2ffd22e040afcc2c /css/ruleset.c | |
parent | faef35e6e98367279f41beed6610162e2d342d02 (diff) | |
download | netsurf-6560a2ae5f68831bec809e9ee847ac0e36ff011d.tar.gz netsurf-6560a2ae5f68831bec809e9ee847ac0e36ff011d.tar.bz2 |
[project @ 2004-07-16 20:22:31 by jmb]
Add overflow support.
Re-tabulate property table in ruleset.c
svn path=/import/netsurf/; revision=1087
Diffstat (limited to 'css/ruleset.c')
-rw-r--r-- | css/ruleset.c | 124 |
1 files changed, 68 insertions, 56 deletions
diff --git a/css/ruleset.c b/css/ruleset.c index 44b9d579a..6aa470b6d 100644 --- a/css/ruleset.c +++ b/css/ruleset.c @@ -102,6 +102,7 @@ static void parse_margin_right(struct css_style * const s, const struct css_node static void parse_margin_top(struct css_style * const s, const struct css_node * const v); static void parse_margin_side(struct css_style * const s, const struct css_node * const v, unsigned int i); +static void parse_overflow(struct css_style * const s, const struct css_node * const v); static void parse_padding(struct css_style * const s, const struct css_node * const v); static void parse_padding_bottom(struct css_style * const s, const struct css_node * const v); static void parse_padding_left(struct css_style * const s, const struct css_node * const v); @@ -129,62 +130,63 @@ struct css_property_entry { /** Table of property parsers. MUST be sorted by property name. */ static const struct css_property_entry css_property_table[] = { - { "background", parse_background }, - { "background-attachment", parse_background_attachment }, - { "background-color", parse_background_color }, - { "background-image", parse_background_image }, - { "background-position", parse_background_position }, - { "background-repeat", parse_background_repeat }, - { "border", parse_border }, - { "border-bottom", parse_border_bottom }, - { "border-bottom-color", parse_border_bottom_color }, - { "border-bottom-style", parse_border_bottom_style }, - { "border-bottom-width", parse_border_bottom_width }, - { "border-color", parse_border_color }, - { "border-left", parse_border_left }, - { "border-left-color", parse_border_left_color }, - { "border-left-style", parse_border_left_style }, - { "border-left-width", parse_border_left_width }, - { "border-right", parse_border_right }, - { "border-right-color", parse_border_right_color }, - { "border-right-style", parse_border_right_style }, - { "border-right-width", parse_border_right_width }, - { "border-style", parse_border_style }, - { "border-top", parse_border_top }, - { "border-top-color", parse_border_top_color }, - { "border-top-style", parse_border_top_style }, - { "border-top-width", parse_border_top_width }, - { "border-width", parse_border_width }, - { "clear", parse_clear }, - { "color", parse_color }, - { "cursor", parse_cursor }, - { "display", parse_display }, - { "float", parse_float }, - { "font", parse_font }, - { "font-family", parse_font_family }, - { "font-size", parse_font_size }, - { "font-style", parse_font_style }, - { "font-variant", parse_font_variant }, - { "font-weight", parse_font_weight }, - { "height", parse_height }, - { "line-height", parse_line_height }, - { "margin", parse_margin }, - { "margin-bottom", parse_margin_bottom }, - { "margin-left", parse_margin_left }, - { "margin-right", parse_margin_right }, - { "margin-top", parse_margin_top }, - { "padding", parse_padding }, - { "padding-bottom", parse_padding_bottom }, - { "padding-left", parse_padding_left }, - { "padding-right", parse_padding_right }, - { "padding-top", parse_padding_top }, - { "text-align", parse_text_align }, - { "text-decoration", parse_text_decoration }, - { "text-indent", parse_text_indent }, - { "text-transform", parse_text_transform }, - { "visibility", parse_visibility }, - { "white-space", parse_white_space }, - { "width", parse_width }, + { "background", parse_background }, + { "background-attachment", parse_background_attachment }, + { "background-color", parse_background_color }, + { "background-image", parse_background_image }, + { "background-position", parse_background_position }, + { "background-repeat", parse_background_repeat }, + { "border", parse_border }, + { "border-bottom", parse_border_bottom }, + { "border-bottom-color", parse_border_bottom_color }, + { "border-bottom-style", parse_border_bottom_style }, + { "border-bottom-width", parse_border_bottom_width }, + { "border-color", parse_border_color }, + { "border-left", parse_border_left }, + { "border-left-color", parse_border_left_color }, + { "border-left-style", parse_border_left_style }, + { "border-left-width", parse_border_left_width }, + { "border-right", parse_border_right }, + { "border-right-color", parse_border_right_color }, + { "border-right-style", parse_border_right_style }, + { "border-right-width", parse_border_right_width }, + { "border-style", parse_border_style }, + { "border-top", parse_border_top }, + { "border-top-color", parse_border_top_color }, + { "border-top-style", parse_border_top_style }, + { "border-top-width", parse_border_top_width }, + { "border-width", parse_border_width }, + { "clear", parse_clear }, + { "color", parse_color }, + { "cursor", parse_cursor }, + { "display", parse_display }, + { "float", parse_float }, + { "font", parse_font }, + { "font-family", parse_font_family }, + { "font-size", parse_font_size }, + { "font-style", parse_font_style }, + { "font-variant", parse_font_variant }, + { "font-weight", parse_font_weight }, + { "height", parse_height }, + { "line-height", parse_line_height }, + { "margin", parse_margin }, + { "margin-bottom", parse_margin_bottom }, + { "margin-left", parse_margin_left }, + { "margin-right", parse_margin_right }, + { "margin-top", parse_margin_top }, + { "overflow", parse_overflow }, + { "padding", parse_padding }, + { "padding-bottom", parse_padding_bottom }, + { "padding-left", parse_padding_left }, + { "padding-right", parse_padding_right }, + { "padding-top", parse_padding_top }, + { "text-align", parse_text_align }, + { "text-decoration", parse_text_decoration }, + { "text-indent", parse_text_indent }, + { "text-transform", parse_text_transform }, + { "visibility", parse_visibility }, + { "white-space", parse_white_space }, + { "width", parse_width }, }; @@ -1565,6 +1567,16 @@ void parse_margin_side(struct css_style * const s, const struct css_node * const } } +void parse_overflow(struct css_style * const s, const struct css_node * const v) +{ + css_overflow z; + if (v->type != CSS_NODE_IDENT || v->next != 0) + return; + z = css_overflow_parse(v->data, v->data_length); + if (z != CSS_OVERFLOW_UNKNOWN) + s->overflow = z; +} + void parse_padding(struct css_style * const s, const struct css_node * const v) { unsigned int count = 0; |