diff options
author | Richard Wilson <rjw@netsurf-browser.org> | 2005-04-28 02:35:03 +0000 |
---|---|---|
committer | Richard Wilson <rjw@netsurf-browser.org> | 2005-04-28 02:35:03 +0000 |
commit | 240f15b6922491dd0fbc4c7b781fc4bd8389d10a (patch) | |
tree | 5c1e7f4e20eb66797381fe6513a85cfbd34dee5a /render | |
parent | 7525f1dc314afb05fc782ed2f15586858414dbc3 (diff) | |
download | netsurf-240f15b6922491dd0fbc4c7b781fc4bd8389d10a.tar.gz netsurf-240f15b6922491dd0fbc4c7b781fc4bd8389d10a.tar.bz2 |
[project @ 2005-04-28 02:35:03 by rjw]
HTML border attributes have lower priority that CSS values (fix osnews). Disable tr height minimum value usage for now.
svn path=/import/netsurf/; revision=1694
Diffstat (limited to 'render')
-rw-r--r-- | render/box_construct.c | 42 | ||||
-rw-r--r-- | render/layout.c | 3 |
2 files changed, 27 insertions, 18 deletions
diff --git a/render/box_construct.c b/render/box_construct.c index 466d9b5f4..82b60f97b 100644 --- a/render/box_construct.c +++ b/render/box_construct.c @@ -941,15 +941,18 @@ void box_set_table_border(struct box *box, int value, colour color) if (box->type == BOX_TABLE) { for (unsigned int i = 0; i != 4; i++) { - box->style->border[i].color = color; - box->style->border[i].width.width = - CSS_BORDER_WIDTH_LENGTH; - box->style->border[i].width.value.value = - value; - box->style->border[i].width.value.unit = - CSS_UNIT_PX; - box->style->border[i].style = - CSS_BORDER_STYLE_OUTSET; + if (box->style->border[i].style == + CSS_BORDER_STYLE_NOT_SET) { + box->style->border[i].color = color; + box->style->border[i].width.width = + CSS_BORDER_WIDTH_LENGTH; + box->style->border[i].width.value.value = + value; + box->style->border[i].width.value.unit = + CSS_UNIT_PX; + box->style->border[i].style = + CSS_BORDER_STYLE_OUTSET; + } } } @@ -963,15 +966,18 @@ void box_set_table_border(struct box *box, int value, colour color) break; case BOX_TABLE_CELL: for (unsigned int i = 0; i != 4; i++) { - child->style->border[i].color = color; - child->style->border[i].width.width = - CSS_BORDER_WIDTH_LENGTH; - child->style->border[i].width.value.value = - 1; - child->style->border[i].width.value.unit = - CSS_UNIT_PX; - child->style->border[i].style = - CSS_BORDER_STYLE_INSET; + if (child->style->border[i].style == + CSS_BORDER_STYLE_NOT_SET) { + child->style->border[i].color = color; + child->style->border[i].width.width = + CSS_BORDER_WIDTH_LENGTH; + child->style->border[i].width.value.value = + 1; + child->style->border[i].width.value.unit = + CSS_UNIT_PX; + child->style->border[i].style = + CSS_BORDER_STYLE_INSET; + } } break; default: diff --git a/render/layout.c b/render/layout.c index f70da3a68..3e6c2a367 100644 --- a/render/layout.c +++ b/render/layout.c @@ -1488,6 +1488,9 @@ bool layout_table(struct box *table, int available_width, * possible, so treat it as a minimum */ int row_height = (int) css_len2px(&row->style-> height.length, row->style); + /* we can't use this value currently as it is always + * the height of a line of text in the current style */ + row_height = 0; for (c = row->children; c; c = c->next) { assert(c->style); c->width = xs[c->start_column + c->columns] - |