
int w,h,stride; char *buffer; cairo_surface_t *image; cairo_arc (cr, 0.5, 0.5, 0.3, 0, 2*M_PI); cairo_clip (cr); cairo_new_path (cr); /* path not consumed by clip()*/ buffer = read_png_argb32 ( "data/romedalen.png", &w,&h, &stride); image = cairo_surface_create_for_image ( buffer, CAIRO_FORMAT_ARGB32, w,h, stride); cairo_scale (cr, 1.0/w, 1.0/h); cairo_move_to (cr, 0, 0); cairo_show_surface (cr, image, w, h); cairo_surface_destroy (image); free (buffer);