summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2006-05-07 17:20:18 +0000
committerJames Bursa <james@netsurf-browser.org>2006-05-07 17:20:18 +0000
commit21dd10bcda429ec05b3859be80efe37832e17257 (patch)
treed3943b1f23c85c203f70a8884d19572fa4a5a8b8
parent8d3e2a789104482a3888254f123c11450273d956 (diff)
downloadnetsurf-21dd10bcda429ec05b3859be80efe37832e17257.tar.gz
netsurf-21dd10bcda429ec05b3859be80efe37832e17257.tar.bz2
Fix float positions after a block with a specified height.
svn path=/trunk/netsurf/; revision=2598
-rw-r--r--render/layout.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/render/layout.c b/render/layout.c
index a5d42cecc..d7921ed0a 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -322,6 +322,9 @@ bool layout_block_context(struct box *block, struct content *content)
break;
if (box->height == AUTO)
box->height = y - box->padding[TOP];
+ else
+ cy += box->height -
+ (y - box->padding[TOP]);
cy += box->padding[BOTTOM] +
box->border[BOTTOM];
if (max_pos_margin < box->margin[BOTTOM])
@@ -559,9 +562,11 @@ int layout_solve_width(int available_width, int width,
return width;
}
+
/**
* Position a box tree relatively
*/
+
void layout_position_relative(struct box *root)
{
struct box *box;
@@ -604,9 +609,11 @@ void layout_position_relative(struct box *root)
}
}
+
/**
* Compute a box's relative offset as per CSS 2.1 9.4.3
*/
+
void layout_compute_relative_offset(struct box *box, int *x, int *y)
{
int left = 0, right = 0, top = 0, bottom = 0;