if (top < traps->extents.p1.y) traps->extents.p1.y = top; if (bottom > traps->extents.p2.y) traps->extents.p2.y = bottom;  if (left->p1.x < traps->extents.p1.x) traps->extents.p1.x = left->p1.x; if (left->p2.x < traps->extents.p1.x) traps->extents.p1.x = left->p2.x;  if (right->p1.x > traps->extents.p2.x) traps->extents.p2.x = right->p1.x; if (right->p2.x > traps->extents.p2.x) traps->extents.p2.x = right->p2.x;
_cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,		       cairo_line_t *left, cairo_line_t *right){    cairo_status_t status;    cairo_trapezoid_t *trap;    if (top == bottom) {	return CAIRO_STATUS_SUCCESS;    }    if (traps->num_traps >= traps->traps_size) {	status = _cairo_traps_grow_by (traps, CAIRO_TRAPS_GROWTH_INC);	if (status)	    return status;    }    trap = &traps->traps[traps->num_traps];    trap->top = top;    trap->bottom = bottom;    trap->left = *left;    trap->right = *right;    traps->num_traps++;    return CAIRO_STATUS_SUCCESS;}