diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-02-09 13:01:17 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-02-09 13:01:17 +0000 |
commit | 2061cd81f26c04deb5a7092744295caab7bac077 (patch) | |
tree | 9190b32541c48e1440f6581c34f3253092597984 /src/cairo-script-surface.c | |
parent | 7c34997a3ba89f2e957953aeb4bffa910dbf375b (diff) | |
download | cairo-2061cd81f26c04deb5a7092744295caab7bac077.tar.gz |
Replace the ad-hoc surface unwrappers with a function pointer
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-script-surface.c')
-rw-r--r-- | src/cairo-script-surface.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c index 8851a9ec1..a779780dd 100644 --- a/src/cairo-script-surface.c +++ b/src/cairo-script-surface.c @@ -2090,6 +2090,19 @@ _device_destroy (void *abstract_device) free (ctx); } +static cairo_surface_t * +_cairo_script_surface_source (void *abstract_surface, + cairo_rectangle_int_t *extents) +{ + cairo_script_surface_t *surface = abstract_surface; + + extents->x = extents->y = 0; + extents->width = surface->width; + extents->height = surface->height; + + return &surface->base; +} + static cairo_status_t _cairo_script_surface_acquire_source_image (void *abstract_surface, cairo_image_surface_t **image_out, @@ -3557,6 +3570,7 @@ _cairo_script_surface_backend = { NULL, /* map to image */ NULL, /* unmap image */ + _cairo_script_surface_source, _cairo_script_surface_acquire_source_image, _cairo_script_surface_release_source_image, _cairo_script_surface_snapshot, |