• YAMAMOTO Mitsuharu's avatar
    Simplify cairo image surface creation and destruction · 75b7b2cf
    YAMAMOTO Mitsuharu authored
    * src/dispextern.h (struct image) [USE_CAIRO]: Remove member cr_data2.
    * src/image.c (set_cairo_image_surface): New function split from
    original create_cairo_image_surface.  Call cairo_surface_mark_dirty.
    (create_cairo_image_surface): Just create image surface and return it.
    (x_clear_image): Don't free cr_data2.
    (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
    (gif_load, imagemagick_load_image, svg_load_image) [USE_CAIRO]: Use
    new create_cairo_image_surface and cairo_image_surface_get_data
    instead of xmalloc.  Use set_cairo_image_surface instead of old
    create_cairo_image_surface.
    (pbm_load) [USE_CAIRO]: Call cairo_surface_destroy for surface instead
    of xfree for data.
    (gif_load) [USE_CAIRO]: Multiply y-coordinate value by width instead
    of subimg_width.
    75b7b2cf
image.c 271 KB