diff options
author | Andrea Canciani <ranma42@gmail.com> | 2012-01-11 17:17:29 +0100 |
---|---|---|
committer | Andrea Canciani <ranma42@gmail.com> | 2012-05-26 16:07:00 +0200 |
commit | 13b7364836e14b811bbeb3ba0849e6d6c0fb1dd3 (patch) | |
tree | f1d23a82bfa9d7ef0c4bc4251e767c0579aef50e /src/cairo-xlib-source.c | |
parent | 37c5c2dbe55f64ee84ab248eb0072d5d7c5145cc (diff) | |
download | cairo-13b7364836e14b811bbeb3ba0849e6d6c0fb1dd3.tar.gz |
surface: Use the internal map/unmap
In many places Cairo maps/unmaps surfaces to perform operations on the
raw image, but it doesn't care about the format being invalid. All of
these are appropriate users of _cairo_surface_map_to_image().
Diffstat (limited to 'src/cairo-xlib-source.c')
-rw-r--r-- | src/cairo-xlib-source.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/cairo-xlib-source.c b/src/cairo-xlib-source.c index dec762224..ac0fdf8b7 100644 --- a/src/cairo-xlib-source.c +++ b/src/cairo-xlib-source.c @@ -259,7 +259,7 @@ render_pattern (cairo_xlib_surface_t *dst, { Display *dpy = dst->display->display; cairo_xlib_surface_t *src; - cairo_surface_t *image; + cairo_image_surface_t *image; cairo_status_t status; cairo_rectangle_int_t map_extents; @@ -276,11 +276,11 @@ render_pattern (cairo_xlib_surface_t *dst, map_extents = *extents; map_extents.x = map_extents.y = 0; - image = cairo_surface_map_to_image (&src->base, &map_extents); - status = _cairo_surface_offset_paint (image, extents->x, extents->y, + image = _cairo_surface_map_to_image (&src->base, &map_extents); + status = _cairo_surface_offset_paint (&image->base, extents->x, extents->y, CAIRO_OPERATOR_SOURCE, pattern, NULL); - cairo_surface_unmap_image (&src->base, image); + status = _cairo_surface_unmap_image (&src->base, image); if (unlikely (status)) { cairo_surface_destroy (&src->base); return _cairo_surface_create_in_error (status); @@ -913,7 +913,7 @@ surface_source (cairo_xlib_surface_t *dst, int *src_x, int *src_y) { cairo_xlib_surface_t *src; - cairo_surface_t *image; + cairo_image_surface_t *image; cairo_surface_pattern_t local_pattern; cairo_status_t status; cairo_rectangle_int_t upload, limit, map_extents; @@ -946,12 +946,12 @@ surface_source (cairo_xlib_surface_t *dst, map_extents = upload; map_extents.x = map_extents.y = 0; - image = cairo_surface_map_to_image (&src->base, &map_extents); - status = _cairo_surface_paint (image, + image = _cairo_surface_map_to_image (&src->base, &map_extents); + status = _cairo_surface_paint (&image->base, CAIRO_OPERATOR_SOURCE, &local_pattern.base, NULL); - cairo_surface_unmap_image (&src->base, image); + status = _cairo_surface_unmap_image (&src->base, image); _cairo_pattern_fini (&local_pattern.base); if (unlikely (status)) { |