gtk-demo: Make pixbufs demo use Cairo

This commit is contained in:
Benjamin Otte 2010-07-13 15:57:18 +02:00
parent a907d5e2cc
commit d7a1973f9f

View File

@ -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;
}