diff --git a/demos/gtk-demo/pixbufs.c b/demos/gtk-demo/pixbufs.c index d7b7eef3e9..e2fbcb06a5 100644 --- a/demos/gtk-demo/pixbufs.c +++ b/demos/gtk-demo/pixbufs.c @@ -100,20 +100,15 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data) { - guchar *pixels; - int rowstride; + cairo_t *cr; - rowstride = gdk_pixbuf_get_rowstride (frame); + cr = gdk_cairo_create (event->window); - pixels = gdk_pixbuf_get_pixels (frame) + rowstride * event->area.y + event->area.x * 3; + gdk_cairo_set_source_pixbuf (cr, frame, 0, 0); + gdk_cairo_rectangle (cr, &event->area); + cairo_fill (cr); - gdk_draw_rgb_image_dithalign (widget->window, - widget->style->black_gc, - event->area.x, event->area.y, - event->area.width, event->area.height, - GDK_RGB_DITHER_NORMAL, - pixels, rowstride, - event->area.x, event->area.y); + cairo_destroy (cr); return TRUE; }