From 368b03bffb8dcf2dc2a306f29756ca882b3fee51 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 10 Jun 2017 11:15:20 +0100 Subject: Local history: Pass clip rectangle around as struct. --- frontends/amiga/history_local.c | 9 ++++++--- frontends/framebuffer/localhistory.c | 12 +++++++----- frontends/windows/local_history.c | 6 +----- 3 files changed, 14 insertions(+), 13 deletions(-) (limited to 'frontends') diff --git a/frontends/amiga/history_local.c b/frontends/amiga/history_local.c index 368557dd6..8d1f4ac4a 100755 --- a/frontends/amiga/history_local.c +++ b/frontends/amiga/history_local.c @@ -84,6 +84,7 @@ static void ami_history_redraw(struct history_window *hw) { struct IBox *bbox; ULONG xs,ys; + struct rect clip; struct redraw_context ctx = { .interactive = true, .background_images = true, @@ -102,9 +103,11 @@ static void ami_history_redraw(struct history_window *hw) SetRPAttrs(glob->rp, RPTAG_APenColor, 0xffffffff, TAG_DONE); RectFill(glob->rp, 0, 0, bbox->Width - 1, bbox->Height - 1); */ - - browser_window_history_redraw_rectangle(hw->gw->bw, xs, ys, - bbox->Width + xs, bbox->Height + ys, 0, 0, &ctx); + clip.x0 = xs; + clip.y0 = ys; + clip.x1 = bbox->Width + xs; + clip.y1 = bbox->Height + ys; + browser_window_history_redraw_rectangle(hw->gw->bw, &clip, 0, 0, &ctx); ami_clearclipreg(hw->gg); ami_history_update_extent(hw); diff --git a/frontends/framebuffer/localhistory.c b/frontends/framebuffer/localhistory.c index 3192f0747..b91c9470b 100644 --- a/frontends/framebuffer/localhistory.c +++ b/frontends/framebuffer/localhistory.c @@ -36,6 +36,7 @@ localhistory_redraw(fbtk_widget_t *widget, fbtk_callback_info *cbi) { struct gui_localhistory *glh = cbi->context; nsfb_bbox_t rbox; + struct rect clip; struct redraw_context ctx = { .interactive = true, @@ -53,12 +54,13 @@ localhistory_redraw(fbtk_widget_t *widget, fbtk_callback_info *cbi) nsfb_plot_rectangle_fill(fbtk_get_nsfb(widget), &rbox, 0xffffffff); + clip.x0 = glh->scrollx; + clip.y0 = glh->scrolly; + clip.x1 = fbtk_get_width(widget) + glh->scrollx; + clip.y0 = fbtk_get_height(widget) + glh->scrolly; + browser_window_history_redraw_rectangle(glh->bw, - glh->scrollx, - glh->scrolly, - fbtk_get_width(widget) + glh->scrollx, - fbtk_get_height(widget) + glh->scrolly, - 0, 0, &ctx); + &clip, 0, 0, &ctx); nsfb_update(fbtk_get_nsfb(widget), &rbox); diff --git a/frontends/windows/local_history.c b/frontends/windows/local_history.c index f4474236e..205ebfe94 100644 --- a/frontends/windows/local_history.c +++ b/frontends/windows/local_history.c @@ -111,11 +111,7 @@ nsw32_local_history_draw(struct nsw32_corewindow *nsw32_cw, lhw = (struct nsw32_local_history_window *)nsw32_cw; - local_history_redraw(lhw->session, - r->x0 - scrollx, - r->y0 - scrolly, - r, - &ctx); + local_history_redraw(lhw->session, -scrollx, -scrolly, r, &ctx); return NSERROR_OK; } -- cgit v1.2.3