diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-02-12 11:25:07 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-02-15 14:37:11 +0000 |
commit | ae3319890eacd1c8282ca6df7b263ac74abb5f8d (patch) | |
tree | 16b1f4bab9bcd4cbb13f5e15b01696c788d46203 /src/cairo-image-surface.c | |
parent | 92c0b37d04f9df8df53a455c8e8dda1946c84c87 (diff) | |
download | cairo-ae3319890eacd1c8282ca6df7b263ac74abb5f8d.tar.gz |
win32: Rebase on the new compositor infrastructure
Try and undo all the damage that has acrued over the years by plugging
into the compositor pipeline.
References: https://bugs.freedesktop.org/show_bug.cgi?id=42739
References: https://bugs.freedesktop.org/show_bug.cgi?id=42821
References: https://bugs.freedesktop.org/show_bug.cgi?id=33081
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-image-surface.c')
-rw-r--r-- | src/cairo-image-surface.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c index fede14cd7..66f024c56 100644 --- a/src/cairo-image-surface.c +++ b/src/cairo-image-surface.c @@ -147,6 +147,7 @@ _cairo_image_surface_init (cairo_image_surface_t *surface, pixman_image_t *pixman_image, pixman_format_code_t pixman_format) { + surface->parent = NULL; surface->pixman_image = pixman_image; surface->pixman_format = pixman_format; @@ -714,7 +715,7 @@ _cairo_format_bits_per_pixel (cairo_format_t format) } } - static cairo_surface_t * +static cairo_surface_t * _cairo_image_surface_create_similar (void *abstract_other, cairo_content_t content, int width, @@ -722,6 +723,8 @@ _cairo_image_surface_create_similar (void *abstract_other, { cairo_image_surface_t *other = abstract_other; + TRACE ((stderr, "%s (other=%u)\n", __FUNCTION__, other->base.unique_id)); + if (! _cairo_image_surface_is_size_valid (width, height)) return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE)); @@ -872,6 +875,10 @@ _cairo_image_surface_paint (void *abstract_surface, const cairo_clip_t *clip) { cairo_image_surface_t *surface = abstract_surface; + + TRACE ((stderr, "%s (surface=%d)\n", + __FUNCTION__, surface->base.unique_id)); + return _cairo_compositor_paint (surface->compositor, &surface->base, op, source, clip); } @@ -884,6 +891,10 @@ _cairo_image_surface_mask (void *abstract_surface, const cairo_clip_t *clip) { cairo_image_surface_t *surface = abstract_surface; + + TRACE ((stderr, "%s (surface=%d)\n", + __FUNCTION__, surface->base.unique_id)); + return _cairo_compositor_mask (surface->compositor, &surface->base, op, source, mask, clip); } @@ -901,6 +912,10 @@ _cairo_image_surface_stroke (void *abstract_surface, const cairo_clip_t *clip) { cairo_image_surface_t *surface = abstract_surface; + + TRACE ((stderr, "%s (surface=%d)\n", + __FUNCTION__, surface->base.unique_id)); + return _cairo_compositor_stroke (surface->compositor, &surface->base, op, source, path, style, ctm, ctm_inverse, @@ -918,6 +933,10 @@ _cairo_image_surface_fill (void *abstract_surface, const cairo_clip_t *clip) { cairo_image_surface_t *surface = abstract_surface; + + TRACE ((stderr, "%s (surface=%d)\n", + __FUNCTION__, surface->base.unique_id)); + return _cairo_compositor_fill (surface->compositor, &surface->base, op, source, path, fill_rule, tolerance, antialias, @@ -934,6 +953,10 @@ _cairo_image_surface_glyphs (void *abstract_surface, const cairo_clip_t *clip) { cairo_image_surface_t *surface = abstract_surface; + + TRACE ((stderr, "%s (surface=%d)\n", + __FUNCTION__, surface->base.unique_id)); + return _cairo_compositor_glyphs (surface->compositor, &surface->base, op, source, glyphs, num_glyphs, scaled_font, |