From a693f5d9963866bdc7ae3e19a0f9d51b478d48f8 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Mon, 31 Dec 2018 13:03:40 -0800 Subject: [PATCH] psppire-output-view: Fix background color for output viewer. --- src/ui/gui/psppire-output-view.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/ui/gui/psppire-output-view.c b/src/ui/gui/psppire-output-view.c index cfa385e22d..0a2b4c7970 100644 --- a/src/ui/gui/psppire-output-view.c +++ b/src/ui/gui/psppire-output-view.c @@ -83,6 +83,24 @@ enum N_COLS }; +/* Draws a white background on the GtkLayout to match the white background of + each of the output items. */ +static gboolean +layout_draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) +{ + cairo_save (cr); + + int width = gtk_widget_get_allocated_width (widget); + int height = gtk_widget_get_allocated_height (widget); + cairo_rectangle (cr, 0, 0, width, height); + cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); + cairo_fill (cr); + + cairo_restore (cr); + + return FALSE; /* Continue drawing the GtkDrawingAreas. */ +} + static gboolean draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) { @@ -691,6 +709,8 @@ psppire_output_view_new (GtkLayout *output, GtkTreeView *overview) view->print_n_pages = 0; view->paginated = FALSE; + g_signal_connect (output, "draw", G_CALLBACK (layout_draw_callback), NULL); + g_signal_connect (output, "style-updated", G_CALLBACK (on_style_updated), view); g_signal_connect (output, "size-allocate", G_CALLBACK (on_size_allocate), view); -- 2.30.2