Fix cast between incompatible function types warnings

warning: cast between incompatible function types from ‘cairo_status_t (*)(void *, const cairo_point_t *)’ {aka ‘enum _cairo_status (*)(void *, const struct _cairo_point *)’} to ‘cairo_status_t (*)(void *, const cairo_point_t *, const cairo_slope_t *)’ {aka ‘enum _cairo_status (*)(void *, const struct _cairo_point *, const struct _cairo_slope *)’} [-Wcast-function-type]
This commit is contained in:
Adrian Johnson 2021-08-16 18:23:17 +09:30
parent 2dec76ddfe
commit ba3823e6b8
5 changed files with 57 additions and 9 deletions

View file

@ -69,6 +69,14 @@ _cairo_filler_line_to (void *closure,
return status;
}
static cairo_status_t
_cairo_filler_add_point (void *closure,
const cairo_point_t *point,
const cairo_slope_t *tangent)
{
return _cairo_filler_line_to (closure, point);
};
static cairo_status_t
_cairo_filler_close (void *closure)
{
@ -113,7 +121,7 @@ _cairo_filler_curve_to (void *closure,
}
if (! _cairo_spline_init (&spline,
(cairo_spline_add_point_func_t)_cairo_filler_line_to, filler,
_cairo_filler_add_point, filler,
&filler->current_point, p1, p2, p3))
{
return _cairo_filler_line_to (closure, p3);

View file

@ -1134,6 +1134,14 @@ _cpf_line_to (void *closure,
return cpf->line_to (cpf->closure, point);
}
static cairo_status_t
_cpf_add_point (void *closure,
const cairo_point_t *point,
const cairo_slope_t *tangent)
{
return _cpf_line_to (closure, point);
};
static cairo_status_t
_cpf_curve_to (void *closure,
const cairo_point_t *p1,
@ -1146,8 +1154,8 @@ _cpf_curve_to (void *closure,
cairo_point_t *p0 = &cpf->current_point;
if (! _cairo_spline_init (&spline,
(cairo_spline_add_point_func_t)cpf->line_to,
cpf->closure,
_cpf_add_point,
cpf,
p0, p1, p2, p3))
{
return _cpf_line_to (closure, p3);

View file

@ -183,6 +183,14 @@ _cairo_in_fill_line_to (void *closure,
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
_cairo_in_fill_add_point (void *closure,
const cairo_point_t *point,
const cairo_slope_t *tangent)
{
return _cairo_in_fill_line_to (closure, point);
};
static cairo_status_t
_cairo_in_fill_curve_to (void *closure,
const cairo_point_t *b,
@ -217,7 +225,7 @@ _cairo_in_fill_curve_to (void *closure,
/* XXX Investigate direct inspection of the inflections? */
if (! _cairo_spline_init (&spline,
(cairo_spline_add_point_func_t)_cairo_in_fill_line_to,
_cairo_in_fill_add_point,
in_fill,
&in_fill->current_point, b, c, d))
{

View file

@ -930,6 +930,14 @@ line_to_dashed (void *closure, const cairo_point_t *point)
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
add_point (void *closure,
const cairo_point_t *point,
const cairo_slope_t *tangent)
{
return line_to_dashed (closure, point);
};
static cairo_status_t
spline_to (void *closure,
const cairo_point_t *point,
@ -1042,7 +1050,7 @@ curve_to_dashed (void *closure,
cairo_spline_add_point_func_t func;
cairo_status_t status;
func = (cairo_spline_add_point_func_t)line_to_dashed;
func = add_point;
if (stroker->has_bounds &&
! _cairo_spline_intersects (&stroker->current_face.point, b, c, d,

View file

@ -995,6 +995,14 @@ _cairo_stroker_line_to (void *closure,
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
_cairo_stroker_add_point_line_to (void *closure,
const cairo_point_t *point,
const cairo_slope_t *tangent)
{
return _cairo_stroker_line_to (closure, point);
};
static cairo_status_t
_cairo_stroker_spline_to (void *closure,
const cairo_point_t *point,
@ -1225,6 +1233,14 @@ _cairo_stroker_line_to_dashed (void *closure,
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
_cairo_stroker_add_point_line_to_dashed (void *closure,
const cairo_point_t *point,
const cairo_slope_t *tangent)
{
return _cairo_stroker_line_to_dashed (closure, point);
};
static cairo_status_t
_cairo_stroker_curve_to (void *closure,
const cairo_point_t *b,
@ -1241,13 +1257,13 @@ _cairo_stroker_curve_to (void *closure,
cairo_status_t status = CAIRO_STATUS_SUCCESS;
line_to = stroker->dash.dashed ?
(cairo_spline_add_point_func_t) _cairo_stroker_line_to_dashed :
(cairo_spline_add_point_func_t) _cairo_stroker_line_to;
_cairo_stroker_add_point_line_to_dashed :
_cairo_stroker_add_point_line_to;
/* spline_to is only capable of rendering non-degenerate splines. */
spline_to = stroker->dash.dashed ?
(cairo_spline_add_point_func_t) _cairo_stroker_line_to_dashed :
(cairo_spline_add_point_func_t) _cairo_stroker_spline_to;
_cairo_stroker_add_point_line_to_dashed :
_cairo_stroker_spline_to;
if (! _cairo_spline_init (&spline,
spline_to,