diff options
Diffstat (limited to 'src/cairo-traps-compositor.c')
-rw-r--r-- | src/cairo-traps-compositor.c | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/src/cairo-traps-compositor.c b/src/cairo-traps-compositor.c index c26a5df6f..8c13ca202 100644 --- a/src/cairo-traps-compositor.c +++ b/src/cairo-traps-compositor.c @@ -59,6 +59,7 @@ #include "cairo-spans-private.h" #include "cairo-traps-private.h" #include "cairo-tristrip-private.h" +#include "cairo-ttrace.h" typedef cairo_int_status_t (*draw_func_t) (const cairo_traps_compositor_t *compositor, @@ -2110,6 +2111,7 @@ static cairo_int_status_t _cairo_traps_compositor_paint (const cairo_compositor_t *_compositor, cairo_composite_rectangles_t *extents) { + CAIRO_TRACE_BEGIN (__func__); cairo_traps_compositor_t *compositor = (cairo_traps_compositor_t*)_compositor; cairo_boxes_t boxes; cairo_int_status_t status; @@ -2117,13 +2119,16 @@ _cairo_traps_compositor_paint (const cairo_compositor_t *_compositor, TRACE ((stderr, "%s\n", __FUNCTION__)); status = compositor->check_composite (extents); - if (unlikely (status)) + if (unlikely (status)) { + CAIRO_TRACE_END (__func__); return status; + } _cairo_clip_steal_boxes (extents->clip, &boxes); status = clip_and_composite_boxes (compositor, extents, &boxes); _cairo_clip_unsteal_boxes (extents->clip, &boxes); + CAIRO_TRACE_END (__func__); return status; } @@ -2131,14 +2136,17 @@ static cairo_int_status_t _cairo_traps_compositor_mask (const cairo_compositor_t *_compositor, cairo_composite_rectangles_t *extents) { + CAIRO_TRACE_BEGIN (__func__); const cairo_traps_compositor_t *compositor = (cairo_traps_compositor_t*)_compositor; cairo_int_status_t status; TRACE ((stderr, "%s\n", __FUNCTION__)); status = compositor->check_composite (extents); - if (unlikely (status)) + if (unlikely (status)) { + CAIRO_TRACE_END (__func__); return status; + } if (extents->mask_pattern.base.type == CAIRO_PATTERN_TYPE_SOLID && extents->clip->path == NULL) { @@ -2157,8 +2165,10 @@ _cairo_traps_compositor_mask (const cairo_compositor_t *_compositor, &extents->mask_sample_area, &data.mask_x, &data.mask_y); - if (unlikely (data.mask->status)) + if (unlikely (data.mask->status)) { + CAIRO_TRACE_END (__func__); return data.mask->status; + } status = clip_and_composite (compositor, extents, composite_mask, @@ -2168,6 +2178,7 @@ _cairo_traps_compositor_mask (const cairo_compositor_t *_compositor, cairo_surface_destroy (data.mask); } + CAIRO_TRACE_END (__func__); return status; } @@ -2181,14 +2192,17 @@ _cairo_traps_compositor_stroke (const cairo_compositor_t *_compositor, double tolerance, cairo_antialias_t antialias) { + CAIRO_TRACE_BEGIN (__func__); const cairo_traps_compositor_t *compositor = (cairo_traps_compositor_t *)_compositor; cairo_int_status_t status; TRACE ((stderr, "%s\n", __FUNCTION__)); status = compositor->check_composite (extents); - if (unlikely (status)) + if (unlikely (status)) { + CAIRO_TRACE_END (__func__); return status; + } status = CAIRO_INT_STATUS_UNSUPPORTED; if (_cairo_path_fixed_stroke_is_rectilinear (path)) { @@ -2265,6 +2279,7 @@ _cairo_traps_compositor_stroke (const cairo_compositor_t *_compositor, _cairo_traps_fini (&info.traps); } + CAIRO_TRACE_END (__func__); return status; } @@ -2276,14 +2291,17 @@ _cairo_traps_compositor_fill (const cairo_compositor_t *_compositor, double tolerance, cairo_antialias_t antialias) { + CAIRO_TRACE_BEGIN (__func__); const cairo_traps_compositor_t *compositor = (cairo_traps_compositor_t *)_compositor; cairo_int_status_t status; TRACE ((stderr, "%s\n", __FUNCTION__)); status = compositor->check_composite (extents); - if (unlikely (status)) + if (unlikely (status)) { + CAIRO_TRACE_END (__func__); return status; + } status = CAIRO_INT_STATUS_UNSUPPORTED; if (_cairo_path_fixed_fill_is_rectilinear (path)) { @@ -2332,6 +2350,7 @@ _cairo_traps_compositor_fill (const cairo_compositor_t *_compositor, _cairo_polygon_fini (&polygon); } + CAIRO_TRACE_END (__func__); return status; } @@ -2367,14 +2386,17 @@ _cairo_traps_compositor_glyphs (const cairo_compositor_t *_compositor, int num_glyphs, cairo_bool_t overlap) { + CAIRO_TRACE_BEGIN (__func__); const cairo_traps_compositor_t *compositor = (cairo_traps_compositor_t *)_compositor; cairo_int_status_t status; TRACE ((stderr, "%s\n", __FUNCTION__)); status = compositor->check_composite (extents); - if (unlikely (status)) + if (unlikely (status)) { + CAIRO_TRACE_END (__func__); return status; + } _cairo_scaled_font_freeze_cache (scaled_font); status = compositor->check_composite_glyphs (extents, @@ -2395,6 +2417,7 @@ _cairo_traps_compositor_glyphs (const cairo_compositor_t *_compositor, } _cairo_scaled_font_thaw_cache (scaled_font); + CAIRO_TRACE_END (__func__); return status; } |