diff options
author | James Bursa <james@netsurf-browser.org> | 2006-10-08 22:46:25 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2006-10-08 22:46:25 +0000 |
commit | a785bc25f7d34a7121739219ccdc063e4ac8ba33 (patch) | |
tree | 405d361f065cc5a01ee19ca228eb7816c3bb0c93 /render/box_normalise.c | |
parent | d2469b806c00b82a708cd14caec8c9e3d1286833 (diff) | |
download | netsurf-a785bc25f7d34a7121739219ccdc063e4ac8ba33.tar.gz netsurf-a785bc25f7d34a7121739219ccdc063e4ac8ba33.tar.bz2 |
Modify implementation of absolute positioning to support "static positions". Absolutely positioned boxes are now in their original place in the tree instead of linked from absolute_children.
svn path=/trunk/netsurf/; revision=2984
Diffstat (limited to 'render/box_normalise.c')
-rw-r--r-- | render/box_normalise.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/render/box_normalise.c b/render/box_normalise.c index e9d482d8c..e241f447f 100644 --- a/render/box_normalise.c +++ b/render/box_normalise.c @@ -45,7 +45,6 @@ struct columns { }; -static bool box_normalise_absolute_children(struct box *box, struct content *c); static bool box_normalise_table(struct box *table, struct content *c); static void box_normalise_table_spans(struct box *table); static bool box_normalise_table_row_group(struct box *row_group, @@ -164,34 +163,6 @@ bool box_normalise_block(struct box *block, struct content *c) } } - if (!box_normalise_absolute_children(block, c)) - return false; - - return true; -} - - -bool box_normalise_absolute_children(struct box *box, struct content *c) -{ - struct box *child; - struct box *next_child; - - for (child = box->absolute_children; child != 0; child = next_child) { - next_child = child->next; /* child may be destroyed */ - switch (child->type) { - case BOX_BLOCK: - if (!box_normalise_block(child, c)) - return false; - break; - case BOX_TABLE: - if (!box_normalise_table(child, c)) - return false; - break; - default: - assert(0); - } - } - return true; } @@ -300,9 +271,6 @@ bool box_normalise_table(struct box *table, struct content * c) table->rows = col_info.num_rows; free(col_info.spans); - if (!box_normalise_absolute_children(table, c)) - return false; - if (table->children == 0) { LOG(("table->children == 0, removing")); if (table->prev == 0) @@ -467,9 +435,6 @@ bool box_normalise_table_row_group(struct box *row_group, } } - if (!box_normalise_absolute_children(row_group, c)) - return false; - if (row_group->children == 0) { LOG(("row_group->children == 0, removing")); if (row_group->prev == 0) @@ -583,9 +548,6 @@ bool box_normalise_table_row(struct box *row, col_info->current_column = 0; col_info->extra = false; - if (!box_normalise_absolute_children(row, c)) - return false; - if (row->children == 0) { LOG(("row->children == 0, removing")); if (row->prev == 0) |