summaryrefslogtreecommitdiff
path: root/gtk/scaffolding.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-06-30 15:48:07 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-06-30 15:48:07 +0000
commiteddae6af0663243a2677674d501f9a87d55798f5 (patch)
tree08562171f870a6b592d624adfbfd0d6fa11fcdcb /gtk/scaffolding.c
parenta5dc6b9e6637c85d18510ac6446ee4a8a7955e7b (diff)
downloadnetsurf-eddae6af0663243a2677674d501f9a87d55798f5.tar.gz
netsurf-eddae6af0663243a2677674d501f9a87d55798f5.tar.bz2
Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
Diffstat (limited to 'gtk/scaffolding.c')
-rw-r--r--gtk/scaffolding.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c
index 5a149ffab..269aa27ac 100644
--- a/gtk/scaffolding.c
+++ b/gtk/scaffolding.c
@@ -1507,21 +1507,25 @@ static gboolean nsgtk_history_expose_event(GtkWidget *widget,
struct browser_window *bw =
gui_window_get_browser_window(hw->g->top_level);
+ struct redraw_context ctx = {
+ .interactive = true,
+ .plot = &nsgtk_plotters
+ };
+
current_widget = widget;
current_drawable = widget->window;
current_gc = gdk_gc_new(current_drawable);
#ifdef CAIRO_VERSION
current_cr = gdk_cairo_create(current_drawable);
#endif
- plot = nsgtk_plotters;
clip.x0 = event->area.x;
clip.y0 = event->area.y;
clip.x1 = event->area.x + event->area.width;
clip.y1 = event->area.y + event->area.height;
- plot.clip(&clip);
+ ctx.plot->clip(&clip);
- history_redraw(bw->history);
+ history_redraw(bw->history, &ctx);
current_widget = NULL;
g_object_unref(current_gc);