summaryrefslogtreecommitdiff
path: root/pango-view/viewer-pangocairo.c
diff options
context:
space:
mode:
Diffstat (limited to 'pango-view/viewer-pangocairo.c')
-rw-r--r--pango-view/viewer-pangocairo.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/pango-view/viewer-pangocairo.c b/pango-view/viewer-pangocairo.c
index 9631c059..bed0f38f 100644
--- a/pango-view/viewer-pangocairo.c
+++ b/pango-view/viewer-pangocairo.c
@@ -302,13 +302,14 @@ transform_callback (PangoContext *context,
}
static void
-pangocairo_view_render (gpointer instance G_GNUC_UNUSED,
+pangocairo_view_render (gpointer instance,
gpointer surface,
PangoContext *context,
int *width,
int *height,
gpointer state)
{
+ CairoViewer *c = (CairoViewer *) instance;
cairo_t *cr;
CairoSurface *c_surface = (CairoSurface *) surface;
@@ -318,7 +319,15 @@ pangocairo_view_render (gpointer instance G_GNUC_UNUSED,
transform_callback (context, NULL, cr, state);
- cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
+ c->iface->paint_background (instance, cr);
+
+ cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+ cairo_set_source_rgba (cr,
+ opt_fg_color.red / 65535.,
+ opt_fg_color.green / 65535.,
+ opt_fg_color.blue / 65535.,
+ opt_fg_alpha / 65535.);
+
do_output (context, render_callback, transform_callback, cr, state, width, height);
cairo_destroy (cr);