From 6bfdf82a2a4397ad4e0f6cb3d534b58138793a3c Mon Sep 17 00:00:00 2001 From: infirit Date: Tue, 9 Dec 2014 14:51:37 +0100 Subject: dvi: Add image_done method to DviDevice to notify that the image is finished This way we can mark the surface dirty when all pixels have been modified. Taken from evince commit: c565f15e696db4b4cf983cdddf1e1ab273d547dc From: Carlos Garcia Campos --- backend/dvi/cairo-device.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'backend/dvi/cairo-device.c') diff --git a/backend/dvi/cairo-device.c b/backend/dvi/cairo-device.c index 47425cad..51aea379 100644 --- a/backend/dvi/cairo-device.c +++ b/backend/dvi/cairo-device.c @@ -259,6 +259,12 @@ dvi_cairo_put_pixel (void *image, int x, int y, Ulong color) *p = color; } +static void +dvi_cairo_image_done (void *ptr) +{ + cairo_surface_mark_dirty((cairo_surface_t *)ptr); +} + static void dvi_cairo_set_color (void *device_data, Ulong fg, Ulong bg) { @@ -280,6 +286,7 @@ mdvi_cairo_device_init (DviDevice *device) device->create_image = dvi_cairo_create_image; device->free_image = dvi_cairo_free_image; device->put_pixel = dvi_cairo_put_pixel; + device->image_done = dvi_cairo_image_done; device->set_color = dvi_cairo_set_color; #ifdef HAVE_SPECTRE device->draw_ps = dvi_cairo_draw_ps; -- cgit v1.2.1