summaryrefslogtreecommitdiff
path: root/src/cairo-image-source.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-02-09 13:01:17 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-02-09 13:01:17 +0000
commit2061cd81f26c04deb5a7092744295caab7bac077 (patch)
tree9190b32541c48e1440f6581c34f3253092597984 /src/cairo-image-source.c
parent7c34997a3ba89f2e957953aeb4bffa910dbf375b (diff)
downloadcairo-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-image-source.c')
-rw-r--r--src/cairo-image-source.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/cairo-image-source.c b/src/cairo-image-source.c
index 047a049e3..2c9437930 100644
--- a/src/cairo-image-source.c
+++ b/src/cairo-image-source.c
@@ -609,15 +609,9 @@ _pixman_image_for_recording (cairo_image_surface_t *dst,
*ix = *iy = 0;
- source = pattern->surface;
- if (_cairo_surface_is_subsurface (source))
- source = _cairo_surface_subsurface_get_target_with_offset (source, &tx, &ty);
- if (_cairo_surface_is_snapshot (source))
- source = _cairo_surface_snapshot_get_target (source);
- if (_cairo_surface_is_observer (source))
- source = _cairo_surface_observer_get_target (source);
- if (_cairo_surface_is_paginated (source))
- source = _cairo_paginated_surface_get_target (source);
+ source = _cairo_pattern_get_source (pattern, &limit);
+ tx = limit.x;
+ ty = limit.y;
extend = pattern->base.extend;
if (_cairo_surface_get_extents (source, &limit)) {