summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--render/html_redraw.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/render/html_redraw.c b/render/html_redraw.c
index 31f81d363..c8864314f 100644
--- a/render/html_redraw.c
+++ b/render/html_redraw.c
@@ -54,10 +54,10 @@
#include "utils/utils.h"
-static bool html_redraw_box(struct box *box, int x, int y,
+static bool html_redraw_box(html_content *html, struct box *box, int x, int y,
const struct rect *clip, float scale,
colour current_background_color);
-static bool html_redraw_box_children(struct box *box,
+static bool html_redraw_box_children(html_content *html, struct box *box,
int x_parent, int y_parent, const struct rect *clip,
float scale, colour current_background_color);
static bool html_redraw_text_box(struct box *box, int x, int y,
@@ -154,7 +154,7 @@ bool html_redraw(struct content *c, int x, int y,
result &= plot.rectangle(clip->x0, clip->y0, clip->x1, clip->y1,
&pstyle_fill_bg);
- result &= html_redraw_box(box, x, y, clip,
+ result &= html_redraw_box(html, box, x, y, clip,
scale, pstyle_fill_bg.fill_colour);
}
@@ -244,6 +244,7 @@ static struct box *html_redraw_find_bg_box(struct box *box)
/**
* Recursively draw a box.
*
+ * \param html html content
* \param box box to draw
* \param x_parent coordinate of parent box
* \param y_parent coordinate of parent box
@@ -256,7 +257,8 @@ static struct box *html_redraw_find_bg_box(struct box *box)
* x, y, clip_[xy][01] are in target coordinates.
*/
-bool html_redraw_box(struct box *box, int x_parent, int y_parent,
+bool html_redraw_box(html_content *html, struct box *box,
+ int x_parent, int y_parent,
const struct rect *clip, float scale,
colour current_background_color)
{
@@ -387,7 +389,7 @@ bool html_redraw_box(struct box *box, int x_parent, int y_parent,
CSS_VISIBILITY_HIDDEN) {
if ((plot.group_start) && (!plot.group_start("hidden box")))
return false;
- if (!html_redraw_box_children(box, x_parent, y_parent,
+ if (!html_redraw_box_children(html, box, x_parent, y_parent,
&r, scale, current_background_color))
return false;
return ((!plot.group_end) || (plot.group_end()));
@@ -691,7 +693,7 @@ bool html_redraw_box(struct box *box, int x_parent, int y_parent,
return false;
} else {
- if (!html_redraw_box_children(box, x_parent, y_parent, &r,
+ if (!html_redraw_box_children(html, box, x_parent, y_parent, &r,
scale, current_background_color))
return false;
}
@@ -703,7 +705,7 @@ bool html_redraw_box(struct box *box, int x_parent, int y_parent,
/* list marker */
if (box->list_marker)
- if (!html_redraw_box(box->list_marker,
+ if (!html_redraw_box(html, box->list_marker,
x_parent + box->x -
scrollbar_get_offset(box->scroll_x),
y_parent + box->y -
@@ -723,10 +725,8 @@ bool html_redraw_box(struct box *box, int x_parent, int y_parent,
has_x_scroll = box_hscrollbar_present(box);
has_y_scroll = box_vscrollbar_present(box);
- /* TODO: pass content down, so we don't need
- * current_redraw_browser here */
- if (!box_handle_scrollbars(hlcache_handle_get_content(current_redraw_browser->current_content), box,
- has_x_scroll, has_y_scroll))
+ if (!box_handle_scrollbars((struct content *)html,
+ box, has_x_scroll, has_y_scroll))
return false;
if (box->scroll_x != NULL)
@@ -755,6 +755,7 @@ bool html_redraw_box(struct box *box, int x_parent, int y_parent,
/**
* Draw the various children of a box.
*
+ * \param html html content
* \param box box to draw children of
* \param x_parent coordinate of parent box
* \param y_parent coordinate of parent box
@@ -764,7 +765,8 @@ bool html_redraw_box(struct box *box, int x_parent, int y_parent,
* \return true if successful, false otherwise
*/
-bool html_redraw_box_children(struct box *box, int x_parent, int y_parent,
+bool html_redraw_box_children(html_content *html, struct box *box,
+ int x_parent, int y_parent,
const struct rect *clip, float scale,
colour current_background_color)
{
@@ -773,7 +775,7 @@ bool html_redraw_box_children(struct box *box, int x_parent, int y_parent,
for (c = box->children; c; c = c->next) {
if (c->type != BOX_FLOAT_LEFT && c->type != BOX_FLOAT_RIGHT)
- if (!html_redraw_box(c,
+ if (!html_redraw_box(html, c,
x_parent + box->x -
scrollbar_get_offset(box->scroll_x),
y_parent + box->y -
@@ -782,7 +784,7 @@ bool html_redraw_box_children(struct box *box, int x_parent, int y_parent,
return false;
}
for (c = box->float_children; c; c = c->next_float)
- if (!html_redraw_box(c,
+ if (!html_redraw_box(html, c,
x_parent + box->x -
scrollbar_get_offset(box->scroll_x),
y_parent + box->y -