core: reintroduce bot-scan-converter functions

These functions have been accidentially removed by commit:
494cfd7eb9.

They're still needed by the DRM backend.
(will be used by subsequent patches)

Signed-off-by: Enrico Weigelt, metux IT consult <enrico.weigelt@gr13.net>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Cc: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Enrico Weigelt, metux IT consult 2015-12-29 10:16:40 +01:00 committed by Bryce Harrington
parent adb896e8c5
commit b371b0157f
2 changed files with 40 additions and 0 deletions

View file

@ -2128,6 +2128,42 @@ botor_add_edge (cairo_botor_scan_converter_t *self,
return CAIRO_STATUS_SUCCESS;
}
static cairo_status_t
_cairo_botor_scan_converter_add_edge (void *converter,
const cairo_point_t *p1,
const cairo_point_t *p2,
int top, int bottom,
int dir)
{
cairo_botor_scan_converter_t *self = converter;
cairo_edge_t edge;
edge.line.p1 = *p1;
edge.line.p2 = *p2;
edge.top = top;
edge.bottom = bottom;
edge.dir = dir;
return botor_add_edge (self, &edge);
}
cairo_status_t
_cairo_botor_scan_converter_add_polygon (cairo_botor_scan_converter_t *converter,
const cairo_polygon_t *polygon)
{
cairo_botor_scan_converter_t *self = converter;
cairo_status_t status;
int i;
for (i = 0; i < polygon->num_edges; i++) {
status = botor_add_edge (self, &polygon->edges[i]);
if (unlikely (status))
return status;
}
return CAIRO_STATUS_SUCCESS;
}
static void
_cairo_botor_scan_converter_destroy (void *converter)
{

View file

@ -168,6 +168,10 @@ _cairo_botor_scan_converter_init (cairo_botor_scan_converter_t *self,
const cairo_box_t *extents,
cairo_fill_rule_t fill_rule);
cairo_private cairo_status_t
_cairo_botor_scan_converter_add_polygon (cairo_botor_scan_converter_t *converter,
const cairo_polygon_t *polygon);
/* cairo-spans.c: */
cairo_private cairo_scan_converter_t *