Remove _cairo_surface_composite_trapezoids_as_polygon()

The function computed the composite rectangles wrong and was only used
in a gl fallback anyway. So instead of trying to fix it, just remove it
and make sure gl doesn't fallback.
This commit is contained in:
Benjamin Otte 2010-06-05 15:19:44 +02:00
parent 1e003fce8f
commit 550335efed
4 changed files with 0 additions and 113 deletions

View file

@ -985,20 +985,6 @@ _cairo_gl_surface_composite_trapezoids (cairo_operator_t op,
if (! _cairo_gl_operator_is_supported (op))
return UNSUPPORTED ("unsupported operator");
if (_cairo_surface_check_span_renderer (op,pattern,&dst->base, antialias)) {
status =
_cairo_surface_composite_trapezoids_as_polygon (&dst->base,
op, pattern,
antialias,
src_x, src_y,
dst_x, dst_y,
width, height,
traps, num_traps,
clip_region);
if (status != CAIRO_INT_STATUS_UNSUPPORTED)
return status;
}
status = _cairo_gl_get_traps_pattern (dst,
dst_x, dst_y, width, height,
traps, num_traps, antialias,

View file

@ -186,16 +186,4 @@ _cairo_surface_composite_polygon (cairo_surface_t *surface,
cairo_polygon_t *polygon,
cairo_region_t *clip_region);
cairo_private cairo_status_t
_cairo_surface_composite_trapezoids_as_polygon (cairo_surface_t *surface,
cairo_operator_t op,
const cairo_pattern_t *pattern,
cairo_antialias_t antialias,
int src_x, int src_y,
int dst_x, int dst_y,
int width, int height,
cairo_trapezoid_t *traps,
int num_traps,
cairo_region_t *clip_region);
#endif /* CAIRO_SPANS_PRIVATE_H */

View file

@ -84,81 +84,6 @@ _cairo_surface_composite_polygon (cairo_surface_t *surface,
return status;
}
cairo_status_t
_cairo_surface_composite_trapezoids_as_polygon (cairo_surface_t *surface,
cairo_operator_t op,
const cairo_pattern_t *pattern,
cairo_antialias_t antialias,
int src_x, int src_y,
int dst_x, int dst_y,
int width, int height,
cairo_trapezoid_t *traps,
int num_traps,
cairo_region_t *clip_region)
{
cairo_span_renderer_t *renderer;
cairo_scan_converter_t *converter;
cairo_composite_rectangles_t rects;
cairo_status_t status;
rects.source.x = src_x;
rects.source.y = src_y;
rects.source.width = width;
rects.source.height = height;
rects.mask.x = dst_x;
rects.mask.y = dst_y;
rects.mask.width = width;
rects.mask.height = height;
rects.bounded.x = dst_x;
rects.bounded.y = dst_y;
rects.bounded.width = width;
rects.bounded.height = height;
rects.unbounded = rects.bounded;
rects.is_bounded = _cairo_operator_bounded_by_either (op);
converter = _create_scan_converter (CAIRO_FILL_RULE_WINDING,
antialias,
&rects);
status = converter->status;
if (unlikely (status))
goto CLEANUP_CONVERTER;
while (num_traps--) {
status = converter->add_edge (converter,
&traps->left.p1, &traps->left.p2,
traps->top, traps->bottom, 1);
if (unlikely (status))
goto CLEANUP_CONVERTER;
status = converter->add_edge (converter,
&traps->right.p1, &traps->right.p2,
traps->top, traps->bottom, -1);
if (unlikely (status))
goto CLEANUP_CONVERTER;
traps++;
}
renderer = _cairo_surface_create_span_renderer (op, pattern, surface,
antialias, &rects,
clip_region);
status = converter->generate (converter, renderer);
if (unlikely (status))
goto CLEANUP_RENDERER;
status = renderer->finish (renderer);
CLEANUP_RENDERER:
renderer->destroy (renderer);
CLEANUP_CONVERTER:
converter->destroy (converter);
return status;
}
static void
_cairo_nil_destroy (void *abstract)
{

View file

@ -1973,18 +1973,6 @@ _cairo_surface_composite_trapezoids (cairo_operator_t op,
int ntraps,
cairo_region_t *clip_region);
cairo_private cairo_status_t
_cairo_surface_composite_trapezoids_as_polygon (cairo_surface_t *surface,
cairo_operator_t op,
const cairo_pattern_t *pattern,
cairo_antialias_t antialias,
int src_x, int src_y,
int dst_x, int dst_y,
int width, int height,
cairo_trapezoid_t *traps,
int num_traps,
cairo_region_t *clip_region);
cairo_private cairo_span_renderer_t *
_cairo_surface_create_span_renderer (cairo_operator_t op,
const cairo_pattern_t *pattern,