static cairo_status_t _cairo_path_bounder_curve_to (void *closure, cairo_point_t *b, cairo_point_t *c, cairo_point_t *d) { cairo_path_bounder_t *bounder = closure; _cairo_path_bounder_add_point (bounder, b); _cairo_path_bounder_add_point (bounder, c); _cairo_path_bounder_add_point (bounder, d); return CAIRO_STATUS_SUCCESS; }
static cairo_status_t _cairo_path_bounder_line_to (void *closure, cairo_point_t *point) { cairo_path_bounder_t *bounder = closure; if (bounder->has_move_to_point) { _cairo_path_bounder_add_point (bounder, &bounder->move_to_point); bounder->has_move_to_point = FALSE; } _cairo_path_bounder_add_point (bounder, point); return CAIRO_STATUS_SUCCESS; }
static cairo_status_t _cairo_path_bounder_line_to (void *closure, const cairo_point_t *point) { cairo_path_bounder_t *bounder = closure; if (bounder->has_initial_point) { _cairo_path_bounder_add_point (bounder, &bounder->current_point); bounder->has_initial_point = FALSE; } _cairo_path_bounder_add_point (bounder, point); bounder->current_point = *point; return CAIRO_STATUS_SUCCESS; }
static cairo_status_t _cairo_path_bounder_line_to (void *closure, cairo_point_t *point) { cairo_path_bounder_t *bounder = closure; _cairo_path_bounder_add_point (bounder, point); return CAIRO_STATUS_SUCCESS; }
static cairo_status_t _cairo_path_bounder_curve_to_cp (void *closure, const cairo_point_t *b, const cairo_point_t *c, const cairo_point_t *d) { cairo_path_bounder_t *bounder = closure; if (bounder->has_initial_point) { _cairo_path_bounder_add_point (bounder, &bounder->current_point); bounder->has_initial_point = FALSE; } _cairo_path_bounder_add_point (bounder, b); _cairo_path_bounder_add_point (bounder, c); _cairo_path_bounder_add_point (bounder, d); return CAIRO_STATUS_SUCCESS; }