*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)
{
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;
for(x = 0; x < w; x++)
dev->put_pixel(image, x, y, pixels[0]);
}
+
+ dev->image_done(image);
DEBUG((DBG_BITMAPS, "shrink_glyph_grey: (%dw,%dh,%dx,%dy) -> (%dw,%dh,%dx,%dy)\n",
glyph->w, glyph->h, glyph->x, glyph->y,
dest->w, dest->h, dest->x, dest->y));
Uint bpp));
typedef void (*DviFreeImage) __PROTO((void *image));
typedef void (*DviPutPixel) __PROTO((void *image, int x, int y, Ulong color));
+typedef void (*DviImageDone) __PROTO((void *image));
typedef void (*DviDevDestroy) __PROTO((void *data));
typedef void (*DviRefresh) __PROTO((DviContext *dvi, void *device_data));
typedef void (*DviSetColor) __PROTO((void *device_data, Ulong, Ulong));
DviCreateImage create_image;
DviFreeImage free_image;
DviPutPixel put_pixel;
+ DviImageDone image_done;
DviDevDestroy dev_destroy;
DviRefresh refresh;
DviSetColor set_color;