diff options
author | James Bursa <james@netsurf-browser.org> | 2005-05-22 21:50:14 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2005-05-22 21:50:14 +0000 |
commit | 22640f85e0d245df817df96afa18d382e3a1b49a (patch) | |
tree | 57420cd508f6bd05fe7ad4fff3d8438a91ebf770 /render/box_normalise.c | |
parent | 48d1759374e95bbc0c59fa2c87e9e8122f0e1273 (diff) | |
download | netsurf-22640f85e0d245df817df96afa18d382e3a1b49a.tar.gz netsurf-22640f85e0d245df817df96afa18d382e3a1b49a.tar.bz2 |
[project @ 2005-05-22 21:50:14 by bursa]
Add BOX_TEXT type to distinguish boxes which came from an inline element to boxes which came from a text node. Add inline_parent pointer to box structure. Rewrite text-decoration support to take advantage of the new data (line colours are now correct). Note: there is a clipping issue in redraw.
svn path=/import/netsurf/; revision=1732
Diffstat (limited to 'render/box_normalise.c')
-rw-r--r-- | render/box_normalise.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/render/box_normalise.c b/render/box_normalise.c index e05aa077a..05e2f2d76 100644 --- a/render/box_normalise.c +++ b/render/box_normalise.c @@ -69,8 +69,8 @@ static bool box_normalise_inline_container(struct box *cont, struct content *c); * \code * parent permitted child nodes * BLOCK, INLINE_BLOCK BLOCK, INLINE_CONTAINER, TABLE - * INLINE_CONTAINER INLINE, INLINE_BLOCK, FLOAT_LEFT, FLOAT_RIGHT, BR - * INLINE none + * INLINE_CONTAINER INLINE, INLINE_BLOCK, FLOAT_LEFT, FLOAT_RIGHT, BR, TEXT + * INLINE, TEXT none * TABLE at least 1 TABLE_ROW_GROUP * TABLE_ROW_GROUP at least 1 TABLE_ROW * TABLE_ROW at least 1 TABLE_CELL @@ -114,6 +114,7 @@ bool box_normalise_block(struct box *block, struct content *c) case BOX_FLOAT_LEFT: case BOX_FLOAT_RIGHT: case BOX_BR: + case BOX_TEXT: /* should have been wrapped in inline container by convert_xml_to_box() */ assert(0); @@ -249,6 +250,7 @@ bool box_normalise_table(struct box *table, struct content * c) case BOX_FLOAT_LEFT: case BOX_FLOAT_RIGHT: case BOX_BR: + case BOX_TEXT: /* should have been wrapped in inline container by convert_xml_to_box() */ assert(0); @@ -411,6 +413,7 @@ bool box_normalise_table_row_group(struct box *row_group, case BOX_FLOAT_LEFT: case BOX_FLOAT_RIGHT: case BOX_BR: + case BOX_TEXT: /* should have been wrapped in inline container by convert_xml_to_box() */ assert(0); @@ -507,6 +510,7 @@ bool box_normalise_table_row(struct box *row, case BOX_FLOAT_LEFT: case BOX_FLOAT_RIGHT: case BOX_BR: + case BOX_TEXT: /* should have been wrapped in inline container by convert_xml_to_box() */ assert(0); @@ -640,6 +644,7 @@ bool box_normalise_inline_container(struct box *cont, struct content * c) switch (child->type) { case BOX_INLINE: case BOX_BR: + case BOX_TEXT: /* ok */ break; case BOX_INLINE_BLOCK: |