mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-05 22:48:07 +02:00
Added missing underscores to several internal functions.
This commit is contained in:
parent
daf4141a03
commit
4d399b9aca
17 changed files with 236 additions and 229 deletions
12
ChangeLog
12
ChangeLog
|
|
@ -1,5 +1,17 @@
|
|||
2003-08-26 Carl Worth <cworth@isi.edu>
|
||||
|
||||
* src/cairoint.h: Added missing underscores to several internal
|
||||
functions.
|
||||
* src/cairo_font.c:
|
||||
* src/cairo_gstate.c:
|
||||
* src/cairo_matrix.c:
|
||||
* src/cairo_path_fill.c:
|
||||
* src/cairo_path_stroke.c:
|
||||
* src/cairo_pen.c:
|
||||
* src/cairo_traps.c: Fixed to track newly added underscores.
|
||||
|
||||
* src/cairo.h: Some whitespace fixes.
|
||||
|
||||
* src/cairo_gstate.c (_cairo_gstate_set_pattern): Fixed to anchor
|
||||
pattern at current point instead of the origin.
|
||||
(_cairo_gstate_stroke): Fixed to properly transform pattern.
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@ _cairo_font_scale (cairo_font_t *font, double scale)
|
|||
}
|
||||
|
||||
cairo_status_t
|
||||
cairo_font_transform (cairo_font_t *font,
|
||||
double a, double b,
|
||||
double c, double d)
|
||||
_cairo_font_transform (cairo_font_t *font,
|
||||
double a, double b,
|
||||
double c, double d)
|
||||
{
|
||||
cairo_matrix_t m;
|
||||
|
||||
|
|
|
|||
|
|
@ -809,11 +809,11 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate)
|
|||
|
||||
_cairo_pen_init (&gstate->pen_regular, gstate->line_width / 2.0, gstate);
|
||||
|
||||
cairo_traps_init (&traps);
|
||||
_cairo_traps_init (&traps);
|
||||
|
||||
status = _cairo_path_stroke_to_traps (&gstate->path, gstate, &traps);
|
||||
if (status) {
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -833,7 +833,7 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate)
|
|||
if (gstate->pattern)
|
||||
cairo_surface_set_matrix (gstate->pattern, &user_to_pattern);
|
||||
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
|
||||
_cairo_gstate_new_path (gstate);
|
||||
|
||||
|
|
@ -939,11 +939,11 @@ _cairo_gstate_fill (cairo_gstate_t *gstate)
|
|||
cairo_traps_t traps;
|
||||
cairo_matrix_t user_to_pattern, device_to_pattern;
|
||||
|
||||
cairo_traps_init (&traps);
|
||||
_cairo_traps_init (&traps);
|
||||
|
||||
status = _cairo_path_fill_to_traps (&gstate->path, gstate, &traps);
|
||||
if (status) {
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -963,7 +963,7 @@ _cairo_gstate_fill (cairo_gstate_t *gstate)
|
|||
if (gstate->pattern)
|
||||
cairo_surface_set_matrix (gstate->pattern, &user_to_pattern);
|
||||
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
|
||||
_cairo_gstate_new_path (gstate);
|
||||
|
||||
|
|
@ -997,10 +997,10 @@ _cairo_gstate_clip (cairo_gstate_t *gstate)
|
|||
0.0, 0.0, 0.0, 1.0);
|
||||
cairo_surface_set_repeat (alpha_one, 1);
|
||||
|
||||
cairo_traps_init (&traps);
|
||||
_cairo_traps_init (&traps);
|
||||
status = _cairo_path_fill_to_traps (&gstate->path, gstate, &traps);
|
||||
if (status) {
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1010,7 +1010,7 @@ _cairo_gstate_clip (cairo_gstate_t *gstate)
|
|||
gstate->clip.surface,
|
||||
&traps);
|
||||
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
|
||||
cairo_surface_destroy (alpha_one);
|
||||
|
||||
|
|
@ -1034,8 +1034,8 @@ _cairo_gstate_transform_font (cairo_gstate_t *gstate,
|
|||
double a, double b,
|
||||
double c, double d)
|
||||
{
|
||||
return cairo_font_transform (&gstate->font,
|
||||
a, b, c, d);
|
||||
return _cairo_font_transform (&gstate->font,
|
||||
a, b, c, d);
|
||||
}
|
||||
|
||||
cairo_status_t
|
||||
|
|
@ -1135,9 +1135,9 @@ _cairo_gstate_show_surface (cairo_gstate_t *gstate,
|
|||
device_y = 0;
|
||||
device_width = width;
|
||||
device_height = height;
|
||||
cairo_matrix_transform_bounding_box (&image_to_device,
|
||||
&device_x, &device_y,
|
||||
&device_width, &device_height);
|
||||
_cairo_matrix_transform_bounding_box (&image_to_device,
|
||||
&device_x, &device_y,
|
||||
&device_width, &device_height);
|
||||
|
||||
/* XXX: The rendered size is sometimes 1 or 2 pixels short from
|
||||
what I expect. Need to fix this. */
|
||||
|
|
|
|||
|
|
@ -239,9 +239,9 @@ cairo_matrix_transform_point (cairo_matrix_t *matrix, double *x, double *y)
|
|||
slim_hidden_def(cairo_matrix_transform_point)
|
||||
|
||||
cairo_status_t
|
||||
cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
|
||||
double *x, double *y,
|
||||
double *width, double *height)
|
||||
_cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
|
||||
double *x, double *y,
|
||||
double *width, double *height)
|
||||
{
|
||||
int i;
|
||||
double quad_x[4], quad_y[4];
|
||||
|
|
|
|||
|
|
@ -127,9 +127,9 @@ _cairo_filler_done_path (void *closure)
|
|||
{
|
||||
cairo_filler_t *filler = closure;
|
||||
|
||||
return cairo_traps_tessellate_polygon (filler->traps,
|
||||
&filler->polygon,
|
||||
filler->gstate->fill_rule);
|
||||
return _cairo_traps_tessellate_polygon (filler->traps,
|
||||
&filler->polygon,
|
||||
filler->gstate->fill_rule);
|
||||
}
|
||||
|
||||
cairo_status_t
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
while (i != stop) {
|
||||
tri[2] = in->pt;
|
||||
_translate_point (&tri[2], &pen->vertex[i].pt);
|
||||
cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
_cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
tri[1] = tri[2];
|
||||
i += step;
|
||||
if (i < 0)
|
||||
|
|
@ -205,7 +205,7 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
|
||||
tri[2] = final;
|
||||
|
||||
return cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
return _cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
}
|
||||
case CAIRO_LINE_JOIN_MITER:
|
||||
default: {
|
||||
|
|
@ -246,9 +246,9 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
_cairo_polygon_add_edge (&polygon, inpt, &outer);
|
||||
_cairo_polygon_add_edge (&polygon, &outer, outpt);
|
||||
_cairo_polygon_add_edge (&polygon, outpt, &in->pt);
|
||||
status = cairo_traps_tessellate_polygon (stroker->traps,
|
||||
&polygon,
|
||||
CAIRO_FILL_RULE_WINDING);
|
||||
status = _cairo_traps_tessellate_polygon (stroker->traps,
|
||||
&polygon,
|
||||
CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_polygon_fini (&polygon);
|
||||
|
||||
return status;
|
||||
|
|
@ -261,7 +261,7 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
tri[1] = *inpt;
|
||||
tri[2] = *outpt;
|
||||
|
||||
return cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
return _cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -294,12 +294,12 @@ _cairo_stroker_cap (cairo_stroker_t *stroker, cairo_stroke_face_t *f)
|
|||
for (i=start; i != stop; i = (i+1) % pen->num_vertices) {
|
||||
tri[2] = f->pt;
|
||||
_translate_point (&tri[2], &pen->vertex[i].pt);
|
||||
cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
_cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
tri[1] = tri[2];
|
||||
}
|
||||
tri[2] = f->ccw;
|
||||
|
||||
return cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
return _cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
}
|
||||
case CAIRO_LINE_CAP_SQUARE: {
|
||||
double dx, dy;
|
||||
|
|
@ -326,7 +326,7 @@ _cairo_stroker_cap (cairo_stroker_t *stroker, cairo_stroke_face_t *f)
|
|||
_cairo_polygon_add_edge (&polygon, &occw, &f->ccw);
|
||||
_cairo_polygon_add_edge (&polygon, &f->ccw, &f->cw);
|
||||
|
||||
status = cairo_traps_tessellate_polygon (stroker->traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
status = _cairo_traps_tessellate_polygon (stroker->traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_polygon_fini (&polygon);
|
||||
|
||||
return status;
|
||||
|
|
@ -415,7 +415,7 @@ _cairo_stroker_add_sub_edge (cairo_stroker_t *stroker, cairo_point_t *p1, cairo_
|
|||
quad[2] = end->ccw;
|
||||
quad[3] = end->cw;
|
||||
|
||||
return cairo_traps_tessellate_rectangle (stroker->traps, quad);
|
||||
return _cairo_traps_tessellate_rectangle (stroker->traps, quad);
|
||||
}
|
||||
|
||||
static cairo_status_t
|
||||
|
|
|
|||
|
|
@ -375,7 +375,7 @@ _cairo_pen_stroke_spline (cairo_pen_t *pen,
|
|||
return status;
|
||||
|
||||
_cairo_polygon_close (&polygon);
|
||||
cairo_traps_tessellate_polygon (traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_traps_tessellate_polygon (traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_polygon_fini (&polygon);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -29,16 +29,16 @@
|
|||
/* private functions */
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_grow_by (cairo_traps_t *traps, int additional);
|
||||
_cairo_traps_grow_by (cairo_traps_t *traps, int additional);
|
||||
|
||||
static cairo_status_t
|
||||
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_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_line_t *left, cairo_line_t *right);
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2);
|
||||
_cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2);
|
||||
|
||||
static int
|
||||
_compare_point_fixed_by_y (const void *av, const void *bv);
|
||||
|
|
@ -62,7 +62,7 @@ static cairo_fixed_t
|
|||
_line_segs_intersect_ceil (cairo_line_t *left, cairo_line_t *right, cairo_fixed_t *y_ret);
|
||||
|
||||
void
|
||||
cairo_traps_init (cairo_traps_t *traps)
|
||||
_cairo_traps_init (cairo_traps_t *traps)
|
||||
{
|
||||
traps->num_traps = 0;
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ cairo_traps_init (cairo_traps_t *traps)
|
|||
}
|
||||
|
||||
void
|
||||
cairo_traps_fini (cairo_traps_t *traps)
|
||||
_cairo_traps_fini (cairo_traps_t *traps)
|
||||
{
|
||||
if (traps->traps_size) {
|
||||
free (traps->traps);
|
||||
|
|
@ -82,8 +82,8 @@ cairo_traps_fini (cairo_traps_t *traps)
|
|||
}
|
||||
|
||||
static cairo_status_t
|
||||
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_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;
|
||||
|
|
@ -93,7 +93,7 @@ cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bot
|
|||
}
|
||||
|
||||
if (traps->num_traps >= traps->traps_size) {
|
||||
status = cairo_traps_grow_by (traps, CAIRO_TRAPS_GROWTH_INC);
|
||||
status = _cairo_traps_grow_by (traps, CAIRO_TRAPS_GROWTH_INC);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
@ -110,9 +110,9 @@ cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bot
|
|||
}
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2)
|
||||
_cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2)
|
||||
{
|
||||
cairo_line_t left;
|
||||
cairo_line_t right;
|
||||
|
|
@ -123,11 +123,11 @@ cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo
|
|||
right.p1 = right_p1;
|
||||
right.p2 = right_p2;
|
||||
|
||||
return cairo_traps_add_trap (traps, top, bottom, &left, &right);
|
||||
return _cairo_traps_add_trap (traps, top, bottom, &left, &right);
|
||||
}
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_grow_by (cairo_traps_t *traps, int additional)
|
||||
_cairo_traps_grow_by (cairo_traps_t *traps, int additional)
|
||||
{
|
||||
cairo_trapezoid_t *new_traps;
|
||||
int old_size = traps->traps_size;
|
||||
|
|
@ -163,7 +163,7 @@ _compare_point_fixed_by_y (const void *av, const void *bv)
|
|||
}
|
||||
|
||||
cairo_status_t
|
||||
cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
||||
_cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
||||
{
|
||||
cairo_status_t status;
|
||||
cairo_line_t line;
|
||||
|
|
@ -176,15 +176,15 @@ cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
|||
/* horizontal top edge requires special handling */
|
||||
if (tsort[0].y == tsort[1].y) {
|
||||
if (tsort[0].x < tsort[1].x)
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
else
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -194,29 +194,29 @@ cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
|||
intersect = _compute_x (&line, tsort[2].y);
|
||||
|
||||
if (intersect < tsort[2].x) {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[1],
|
||||
tsort[0], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[1],
|
||||
tsort[0], tsort[2]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
if (status)
|
||||
return status;
|
||||
} else {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[0], tsort[1]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[0], tsort[1]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
@ -226,36 +226,36 @@ cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
|||
|
||||
/* Warning: This function reorders the elements of the array provided. */
|
||||
cairo_status_t
|
||||
cairo_traps_tessellate_rectangle (cairo_traps_t *traps, cairo_point_t q[4])
|
||||
_cairo_traps_tessellate_rectangle (cairo_traps_t *traps, cairo_point_t q[4])
|
||||
{
|
||||
cairo_status_t status;
|
||||
|
||||
qsort (q, 4, sizeof (cairo_point_t), _compare_point_fixed_by_y);
|
||||
|
||||
if (q[1].x > q[2].x) {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[2], q[0], q[1]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[2], q[0], q[1]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[0], q[2], q[1], q[3]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[0], q[2], q[1], q[3]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[2], q[3], q[1], q[3]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[2], q[3], q[1], q[3]);
|
||||
if (status)
|
||||
return status;
|
||||
} else {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[1], q[0], q[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[1], q[0], q[2]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[1], q[3], q[0], q[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[1], q[3], q[0], q[2]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[1], q[3], q[2], q[3]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[1], q[3], q[2], q[3]);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
@ -468,9 +468,9 @@ _line_segs_intersect_ceil (cairo_line_t *l1, cairo_line_t *l2, cairo_fixed_t *y_
|
|||
Warning: This function obliterates the edges of the polygon provided.
|
||||
*/
|
||||
cairo_status_t
|
||||
cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
||||
cairo_polygon_t *poly,
|
||||
cairo_fill_rule_t fill_rule)
|
||||
_cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
||||
cairo_polygon_t *poly,
|
||||
cairo_fill_rule_t fill_rule)
|
||||
{
|
||||
cairo_status_t status;
|
||||
int i, active, inactive;
|
||||
|
|
@ -528,7 +528,7 @@ cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
|||
if ((in_out & 1) == 0)
|
||||
continue;
|
||||
}
|
||||
status = cairo_traps_add_trap (traps, y, y_next, &edges[i].edge, &edges[i+1].edge);
|
||||
status = _cairo_traps_add_trap (traps, y, y_next, &edges[i].edge, &edges[i+1].edge);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
32
src/cairo.h
32
src/cairo.h
|
|
@ -80,16 +80,16 @@ typedef enum cairo_format {
|
|||
|
||||
extern void __external_linkage
|
||||
cairo_set_target_drawable (cairo_t *cr,
|
||||
Display *dpy,
|
||||
Drawable drawable);
|
||||
Display *dpy,
|
||||
Drawable drawable);
|
||||
|
||||
extern void __external_linkage
|
||||
cairo_set_target_image (cairo_t *cr,
|
||||
char *data,
|
||||
cairo_format_t format,
|
||||
int width,
|
||||
int height,
|
||||
int stride);
|
||||
char *data,
|
||||
cairo_format_t format,
|
||||
int width,
|
||||
int height,
|
||||
int stride);
|
||||
|
||||
typedef enum cairo_operator {
|
||||
CAIRO_OPERATOR_CLEAR = PictOpClear,
|
||||
|
|
@ -329,9 +329,9 @@ cairo_show_text (cairo_t *cr, const unsigned char *utf8);
|
|||
|
||||
extern void __external_linkage
|
||||
cairo_show_surface (cairo_t *cr,
|
||||
cairo_surface_t *surface,
|
||||
int width,
|
||||
int height);
|
||||
cairo_surface_t *surface,
|
||||
int width,
|
||||
int height);
|
||||
|
||||
/* Query functions */
|
||||
|
||||
|
|
@ -494,15 +494,15 @@ cairo_matrix_set_identity (cairo_matrix_t *matrix);
|
|||
|
||||
extern cairo_status_t __external_linkage
|
||||
cairo_matrix_set_affine (cairo_matrix_t *cr,
|
||||
double a, double b,
|
||||
double c, double d,
|
||||
double tx, double ty);
|
||||
double a, double b,
|
||||
double c, double d,
|
||||
double tx, double ty);
|
||||
|
||||
extern cairo_status_t __external_linkage
|
||||
cairo_matrix_get_affine (cairo_matrix_t *matrix,
|
||||
double *a, double *b,
|
||||
double *c, double *d,
|
||||
double *tx, double *ty);
|
||||
double *a, double *b,
|
||||
double *c, double *d,
|
||||
double *tx, double *ty);
|
||||
|
||||
extern cairo_status_t __external_linkage
|
||||
cairo_matrix_translate (cairo_matrix_t *matrix, double tx, double ty);
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@ _cairo_font_scale (cairo_font_t *font, double scale)
|
|||
}
|
||||
|
||||
cairo_status_t
|
||||
cairo_font_transform (cairo_font_t *font,
|
||||
double a, double b,
|
||||
double c, double d)
|
||||
_cairo_font_transform (cairo_font_t *font,
|
||||
double a, double b,
|
||||
double c, double d)
|
||||
{
|
||||
cairo_matrix_t m;
|
||||
|
||||
|
|
|
|||
|
|
@ -809,11 +809,11 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate)
|
|||
|
||||
_cairo_pen_init (&gstate->pen_regular, gstate->line_width / 2.0, gstate);
|
||||
|
||||
cairo_traps_init (&traps);
|
||||
_cairo_traps_init (&traps);
|
||||
|
||||
status = _cairo_path_stroke_to_traps (&gstate->path, gstate, &traps);
|
||||
if (status) {
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -833,7 +833,7 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate)
|
|||
if (gstate->pattern)
|
||||
cairo_surface_set_matrix (gstate->pattern, &user_to_pattern);
|
||||
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
|
||||
_cairo_gstate_new_path (gstate);
|
||||
|
||||
|
|
@ -939,11 +939,11 @@ _cairo_gstate_fill (cairo_gstate_t *gstate)
|
|||
cairo_traps_t traps;
|
||||
cairo_matrix_t user_to_pattern, device_to_pattern;
|
||||
|
||||
cairo_traps_init (&traps);
|
||||
_cairo_traps_init (&traps);
|
||||
|
||||
status = _cairo_path_fill_to_traps (&gstate->path, gstate, &traps);
|
||||
if (status) {
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -963,7 +963,7 @@ _cairo_gstate_fill (cairo_gstate_t *gstate)
|
|||
if (gstate->pattern)
|
||||
cairo_surface_set_matrix (gstate->pattern, &user_to_pattern);
|
||||
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
|
||||
_cairo_gstate_new_path (gstate);
|
||||
|
||||
|
|
@ -997,10 +997,10 @@ _cairo_gstate_clip (cairo_gstate_t *gstate)
|
|||
0.0, 0.0, 0.0, 1.0);
|
||||
cairo_surface_set_repeat (alpha_one, 1);
|
||||
|
||||
cairo_traps_init (&traps);
|
||||
_cairo_traps_init (&traps);
|
||||
status = _cairo_path_fill_to_traps (&gstate->path, gstate, &traps);
|
||||
if (status) {
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1010,7 +1010,7 @@ _cairo_gstate_clip (cairo_gstate_t *gstate)
|
|||
gstate->clip.surface,
|
||||
&traps);
|
||||
|
||||
cairo_traps_fini (&traps);
|
||||
_cairo_traps_fini (&traps);
|
||||
|
||||
cairo_surface_destroy (alpha_one);
|
||||
|
||||
|
|
@ -1034,8 +1034,8 @@ _cairo_gstate_transform_font (cairo_gstate_t *gstate,
|
|||
double a, double b,
|
||||
double c, double d)
|
||||
{
|
||||
return cairo_font_transform (&gstate->font,
|
||||
a, b, c, d);
|
||||
return _cairo_font_transform (&gstate->font,
|
||||
a, b, c, d);
|
||||
}
|
||||
|
||||
cairo_status_t
|
||||
|
|
@ -1135,9 +1135,9 @@ _cairo_gstate_show_surface (cairo_gstate_t *gstate,
|
|||
device_y = 0;
|
||||
device_width = width;
|
||||
device_height = height;
|
||||
cairo_matrix_transform_bounding_box (&image_to_device,
|
||||
&device_x, &device_y,
|
||||
&device_width, &device_height);
|
||||
_cairo_matrix_transform_bounding_box (&image_to_device,
|
||||
&device_x, &device_y,
|
||||
&device_width, &device_height);
|
||||
|
||||
/* XXX: The rendered size is sometimes 1 or 2 pixels short from
|
||||
what I expect. Need to fix this. */
|
||||
|
|
|
|||
|
|
@ -239,9 +239,9 @@ cairo_matrix_transform_point (cairo_matrix_t *matrix, double *x, double *y)
|
|||
slim_hidden_def(cairo_matrix_transform_point)
|
||||
|
||||
cairo_status_t
|
||||
cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
|
||||
double *x, double *y,
|
||||
double *width, double *height)
|
||||
_cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
|
||||
double *x, double *y,
|
||||
double *width, double *height)
|
||||
{
|
||||
int i;
|
||||
double quad_x[4], quad_y[4];
|
||||
|
|
|
|||
|
|
@ -127,9 +127,9 @@ _cairo_filler_done_path (void *closure)
|
|||
{
|
||||
cairo_filler_t *filler = closure;
|
||||
|
||||
return cairo_traps_tessellate_polygon (filler->traps,
|
||||
&filler->polygon,
|
||||
filler->gstate->fill_rule);
|
||||
return _cairo_traps_tessellate_polygon (filler->traps,
|
||||
&filler->polygon,
|
||||
filler->gstate->fill_rule);
|
||||
}
|
||||
|
||||
cairo_status_t
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
while (i != stop) {
|
||||
tri[2] = in->pt;
|
||||
_translate_point (&tri[2], &pen->vertex[i].pt);
|
||||
cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
_cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
tri[1] = tri[2];
|
||||
i += step;
|
||||
if (i < 0)
|
||||
|
|
@ -205,7 +205,7 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
|
||||
tri[2] = final;
|
||||
|
||||
return cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
return _cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
}
|
||||
case CAIRO_LINE_JOIN_MITER:
|
||||
default: {
|
||||
|
|
@ -246,9 +246,9 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
_cairo_polygon_add_edge (&polygon, inpt, &outer);
|
||||
_cairo_polygon_add_edge (&polygon, &outer, outpt);
|
||||
_cairo_polygon_add_edge (&polygon, outpt, &in->pt);
|
||||
status = cairo_traps_tessellate_polygon (stroker->traps,
|
||||
&polygon,
|
||||
CAIRO_FILL_RULE_WINDING);
|
||||
status = _cairo_traps_tessellate_polygon (stroker->traps,
|
||||
&polygon,
|
||||
CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_polygon_fini (&polygon);
|
||||
|
||||
return status;
|
||||
|
|
@ -261,7 +261,7 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st
|
|||
tri[1] = *inpt;
|
||||
tri[2] = *outpt;
|
||||
|
||||
return cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
return _cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -294,12 +294,12 @@ _cairo_stroker_cap (cairo_stroker_t *stroker, cairo_stroke_face_t *f)
|
|||
for (i=start; i != stop; i = (i+1) % pen->num_vertices) {
|
||||
tri[2] = f->pt;
|
||||
_translate_point (&tri[2], &pen->vertex[i].pt);
|
||||
cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
_cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
tri[1] = tri[2];
|
||||
}
|
||||
tri[2] = f->ccw;
|
||||
|
||||
return cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
return _cairo_traps_tessellate_triangle (stroker->traps, tri);
|
||||
}
|
||||
case CAIRO_LINE_CAP_SQUARE: {
|
||||
double dx, dy;
|
||||
|
|
@ -326,7 +326,7 @@ _cairo_stroker_cap (cairo_stroker_t *stroker, cairo_stroke_face_t *f)
|
|||
_cairo_polygon_add_edge (&polygon, &occw, &f->ccw);
|
||||
_cairo_polygon_add_edge (&polygon, &f->ccw, &f->cw);
|
||||
|
||||
status = cairo_traps_tessellate_polygon (stroker->traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
status = _cairo_traps_tessellate_polygon (stroker->traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_polygon_fini (&polygon);
|
||||
|
||||
return status;
|
||||
|
|
@ -415,7 +415,7 @@ _cairo_stroker_add_sub_edge (cairo_stroker_t *stroker, cairo_point_t *p1, cairo_
|
|||
quad[2] = end->ccw;
|
||||
quad[3] = end->cw;
|
||||
|
||||
return cairo_traps_tessellate_rectangle (stroker->traps, quad);
|
||||
return _cairo_traps_tessellate_rectangle (stroker->traps, quad);
|
||||
}
|
||||
|
||||
static cairo_status_t
|
||||
|
|
|
|||
|
|
@ -375,7 +375,7 @@ _cairo_pen_stroke_spline (cairo_pen_t *pen,
|
|||
return status;
|
||||
|
||||
_cairo_polygon_close (&polygon);
|
||||
cairo_traps_tessellate_polygon (traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_traps_tessellate_polygon (traps, &polygon, CAIRO_FILL_RULE_WINDING);
|
||||
_cairo_polygon_fini (&polygon);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -29,16 +29,16 @@
|
|||
/* private functions */
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_grow_by (cairo_traps_t *traps, int additional);
|
||||
_cairo_traps_grow_by (cairo_traps_t *traps, int additional);
|
||||
|
||||
static cairo_status_t
|
||||
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_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_line_t *left, cairo_line_t *right);
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2);
|
||||
_cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2);
|
||||
|
||||
static int
|
||||
_compare_point_fixed_by_y (const void *av, const void *bv);
|
||||
|
|
@ -62,7 +62,7 @@ static cairo_fixed_t
|
|||
_line_segs_intersect_ceil (cairo_line_t *left, cairo_line_t *right, cairo_fixed_t *y_ret);
|
||||
|
||||
void
|
||||
cairo_traps_init (cairo_traps_t *traps)
|
||||
_cairo_traps_init (cairo_traps_t *traps)
|
||||
{
|
||||
traps->num_traps = 0;
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ cairo_traps_init (cairo_traps_t *traps)
|
|||
}
|
||||
|
||||
void
|
||||
cairo_traps_fini (cairo_traps_t *traps)
|
||||
_cairo_traps_fini (cairo_traps_t *traps)
|
||||
{
|
||||
if (traps->traps_size) {
|
||||
free (traps->traps);
|
||||
|
|
@ -82,8 +82,8 @@ cairo_traps_fini (cairo_traps_t *traps)
|
|||
}
|
||||
|
||||
static cairo_status_t
|
||||
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_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;
|
||||
|
|
@ -93,7 +93,7 @@ cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bot
|
|||
}
|
||||
|
||||
if (traps->num_traps >= traps->traps_size) {
|
||||
status = cairo_traps_grow_by (traps, CAIRO_TRAPS_GROWTH_INC);
|
||||
status = _cairo_traps_grow_by (traps, CAIRO_TRAPS_GROWTH_INC);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
@ -110,9 +110,9 @@ cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bot
|
|||
}
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2)
|
||||
_cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bottom,
|
||||
cairo_point_t left_p1, cairo_point_t left_p2,
|
||||
cairo_point_t right_p1, cairo_point_t right_p2)
|
||||
{
|
||||
cairo_line_t left;
|
||||
cairo_line_t right;
|
||||
|
|
@ -123,11 +123,11 @@ cairo_traps_add_trap_from_points (cairo_traps_t *traps, cairo_fixed_t top, cairo
|
|||
right.p1 = right_p1;
|
||||
right.p2 = right_p2;
|
||||
|
||||
return cairo_traps_add_trap (traps, top, bottom, &left, &right);
|
||||
return _cairo_traps_add_trap (traps, top, bottom, &left, &right);
|
||||
}
|
||||
|
||||
static cairo_status_t
|
||||
cairo_traps_grow_by (cairo_traps_t *traps, int additional)
|
||||
_cairo_traps_grow_by (cairo_traps_t *traps, int additional)
|
||||
{
|
||||
cairo_trapezoid_t *new_traps;
|
||||
int old_size = traps->traps_size;
|
||||
|
|
@ -163,7 +163,7 @@ _compare_point_fixed_by_y (const void *av, const void *bv)
|
|||
}
|
||||
|
||||
cairo_status_t
|
||||
cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
||||
_cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
||||
{
|
||||
cairo_status_t status;
|
||||
cairo_line_t line;
|
||||
|
|
@ -176,15 +176,15 @@ cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
|||
/* horizontal top edge requires special handling */
|
||||
if (tsort[0].y == tsort[1].y) {
|
||||
if (tsort[0].x < tsort[1].x)
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
else
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -194,29 +194,29 @@ cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
|||
intersect = _compute_x (&line, tsort[2].y);
|
||||
|
||||
if (intersect < tsort[2].x) {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[1],
|
||||
tsort[0], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[1],
|
||||
tsort[0], tsort[2]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[1], tsort[2],
|
||||
tsort[0], tsort[2]);
|
||||
if (status)
|
||||
return status;
|
||||
} else {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[0], tsort[1]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[0].y, tsort[1].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[0], tsort[1]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
tsort[1].y, tsort[2].y,
|
||||
tsort[0], tsort[2],
|
||||
tsort[1], tsort[2]);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
@ -226,36 +226,36 @@ cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3])
|
|||
|
||||
/* Warning: This function reorders the elements of the array provided. */
|
||||
cairo_status_t
|
||||
cairo_traps_tessellate_rectangle (cairo_traps_t *traps, cairo_point_t q[4])
|
||||
_cairo_traps_tessellate_rectangle (cairo_traps_t *traps, cairo_point_t q[4])
|
||||
{
|
||||
cairo_status_t status;
|
||||
|
||||
qsort (q, 4, sizeof (cairo_point_t), _compare_point_fixed_by_y);
|
||||
|
||||
if (q[1].x > q[2].x) {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[2], q[0], q[1]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[2], q[0], q[1]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[0], q[2], q[1], q[3]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[0], q[2], q[1], q[3]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[2], q[3], q[1], q[3]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[2], q[3], q[1], q[3]);
|
||||
if (status)
|
||||
return status;
|
||||
} else {
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[1], q[0], q[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[0].y, q[1].y, q[0], q[1], q[0], q[2]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[1], q[3], q[0], q[2]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[1].y, q[2].y, q[1], q[3], q[0], q[2]);
|
||||
if (status)
|
||||
return status;
|
||||
status = cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[1], q[3], q[2], q[3]);
|
||||
status = _cairo_traps_add_trap_from_points (traps,
|
||||
q[2].y, q[3].y, q[1], q[3], q[2], q[3]);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
@ -468,9 +468,9 @@ _line_segs_intersect_ceil (cairo_line_t *l1, cairo_line_t *l2, cairo_fixed_t *y_
|
|||
Warning: This function obliterates the edges of the polygon provided.
|
||||
*/
|
||||
cairo_status_t
|
||||
cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
||||
cairo_polygon_t *poly,
|
||||
cairo_fill_rule_t fill_rule)
|
||||
_cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
||||
cairo_polygon_t *poly,
|
||||
cairo_fill_rule_t fill_rule)
|
||||
{
|
||||
cairo_status_t status;
|
||||
int i, active, inactive;
|
||||
|
|
@ -528,7 +528,7 @@ cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
|||
if ((in_out & 1) == 0)
|
||||
continue;
|
||||
}
|
||||
status = cairo_traps_add_trap (traps, y, y_next, &edges[i].edge, &edges[i+1].edge);
|
||||
status = _cairo_traps_add_trap (traps, y, y_next, &edges[i].edge, &edges[i+1].edge);
|
||||
if (status)
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -356,7 +356,7 @@ typedef struct cairo_stroke_face {
|
|||
cairo_point_double_t usr_vector;
|
||||
} cairo_stroke_face_t;
|
||||
|
||||
/* cairo_gstate_t.c */
|
||||
/* cairo_gstate.c */
|
||||
extern cairo_gstate_t * __internal_linkage
|
||||
_cairo_gstate_create (void);
|
||||
|
||||
|
|
@ -565,7 +565,7 @@ _cairo_gstate_show_surface (cairo_gstate_t *gstate,
|
|||
int width,
|
||||
int height);
|
||||
|
||||
/* cairo_color_t.c */
|
||||
/* cairo_color.c */
|
||||
extern void __internal_linkage
|
||||
_cairo_color_init (cairo_color_t *color);
|
||||
|
||||
|
|
@ -581,8 +581,7 @@ _cairo_color_get_rgb (cairo_color_t *color, double *red, double *green, double *
|
|||
extern void __internal_linkage
|
||||
_cairo_color_set_alpha (cairo_color_t *color, double alpha);
|
||||
|
||||
/* cairo_font_t.c */
|
||||
|
||||
/* cairo_font.c */
|
||||
extern void __internal_linkage
|
||||
_cairo_font_init (cairo_font_t *font);
|
||||
|
||||
|
|
@ -599,14 +598,14 @@ extern cairo_status_t __internal_linkage
|
|||
_cairo_font_scale (cairo_font_t *font, double scale);
|
||||
|
||||
extern cairo_status_t __internal_linkage
|
||||
cairo_font_transform (cairo_font_t *font,
|
||||
double a, double b,
|
||||
double c, double d);
|
||||
_cairo_font_transform (cairo_font_t *font,
|
||||
double a, double b,
|
||||
double c, double d);
|
||||
|
||||
extern cairo_status_t __internal_linkage
|
||||
_cairo_font_resolve_xft_font (cairo_font_t *font, cairo_gstate_t *gstate, XftFont **xft_font);
|
||||
|
||||
/* cairo_path_t.c */
|
||||
/* cairo_path.c */
|
||||
extern void __internal_linkage
|
||||
_cairo_path_init (cairo_path_t *path);
|
||||
|
||||
|
|
@ -640,18 +639,15 @@ _cairo_path_interpret (cairo_path_t *path,
|
|||
extern cairo_status_t __internal_linkage
|
||||
_cairo_path_bounds (cairo_path_t *path, double *x1, double *y1, double *x2, double *y2);
|
||||
|
||||
/* cairo_path_tfill.c */
|
||||
|
||||
/* cairo_path_fill.c */
|
||||
extern cairo_status_t __internal_linkage
|
||||
_cairo_path_fill_to_traps (cairo_path_t *path, cairo_gstate_t *gstate, cairo_traps_t *traps);
|
||||
|
||||
/* cairo_path_tstroke.c */
|
||||
|
||||
/* cairo_path_stroke.c */
|
||||
extern cairo_status_t __internal_linkage
|
||||
_cairo_path_stroke_to_traps (cairo_path_t *path, cairo_gstate_t *gstate, cairo_traps_t *traps);
|
||||
|
||||
/* cairo_surface_t.c */
|
||||
|
||||
/* cairo_surface.c */
|
||||
extern void __internal_linkage
|
||||
_cairo_surface_reference (cairo_surface_t *surface);
|
||||
|
||||
|
|
@ -700,7 +696,7 @@ _cairo_surface_pull_image (cairo_surface_t *surface);
|
|||
extern void __internal_linkage
|
||||
_cairo_surface_push_image (cairo_surface_t *surface);
|
||||
|
||||
/* cairo_pen_t.c */
|
||||
/* cairo_pen.c */
|
||||
extern cairo_status_t __internal_linkage
|
||||
_cairo_pen_init (cairo_pen_t *pen, double radius, cairo_gstate_t *gstate);
|
||||
|
||||
|
|
@ -739,7 +735,7 @@ _cairo_pen_stroke_spline (cairo_pen_t *pen,
|
|||
double tolerance,
|
||||
cairo_traps_t *traps);
|
||||
|
||||
/* cairo_polygon_t.c */
|
||||
/* cairo_polygon.c */
|
||||
extern void __internal_linkage
|
||||
_cairo_polygon_init (cairo_polygon_t *polygon);
|
||||
|
||||
|
|
@ -755,7 +751,7 @@ _cairo_polygon_add_point (cairo_polygon_t *polygon, cairo_point_t *pt);
|
|||
extern cairo_status_t __internal_linkage
|
||||
_cairo_polygon_close (cairo_polygon_t *polygon);
|
||||
|
||||
/* cairo_spline_t.c */
|
||||
/* cairo_spline.c */
|
||||
extern cairo_int_status_t __internal_linkage
|
||||
_cairo_spline_init (cairo_spline_t *spline,
|
||||
cairo_point_t *a,
|
||||
|
|
@ -769,7 +765,7 @@ _cairo_spline_decompose (cairo_spline_t *spline, double tolerance);
|
|||
extern void __internal_linkage
|
||||
_cairo_spline_fini (cairo_spline_t *spline);
|
||||
|
||||
/* cairo_matrix_t.c */
|
||||
/* cairo_matrix.c */
|
||||
extern void __internal_linkage
|
||||
_cairo_matrix_init (cairo_matrix_t *matrix);
|
||||
|
||||
|
|
@ -789,9 +785,9 @@ _cairo_matrix_set_rotate (cairo_matrix_t *matrix,
|
|||
double angle);
|
||||
|
||||
extern cairo_status_t __internal_linkage
|
||||
cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
|
||||
double *x, double *y,
|
||||
double *width, double *height);
|
||||
_cairo_matrix_transform_bounding_box (cairo_matrix_t *matrix,
|
||||
double *x, double *y,
|
||||
double *width, double *height);
|
||||
|
||||
extern cairo_status_t __internal_linkage
|
||||
_cairo_matrix_compute_determinant (cairo_matrix_t *matrix, double *det);
|
||||
|
|
@ -801,24 +797,23 @@ _cairo_matrix_compute_eigen_values (cairo_matrix_t *matrix, double *lambda1, dou
|
|||
|
||||
/* cairo_traps.c */
|
||||
extern void __internal_linkage
|
||||
cairo_traps_init (cairo_traps_t *traps);
|
||||
_cairo_traps_init (cairo_traps_t *traps);
|
||||
|
||||
extern void __internal_linkage
|
||||
cairo_traps_fini (cairo_traps_t *traps);
|
||||
_cairo_traps_fini (cairo_traps_t *traps);
|
||||
|
||||
extern cairo_status_t __internal_linkage
|
||||
cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3]);
|
||||
_cairo_traps_tessellate_triangle (cairo_traps_t *traps, cairo_point_t t[3]);
|
||||
|
||||
extern cairo_status_t __internal_linkage
|
||||
cairo_traps_tessellate_rectangle (cairo_traps_t *traps, cairo_point_t q[4]);
|
||||
_cairo_traps_tessellate_rectangle (cairo_traps_t *traps, cairo_point_t q[4]);
|
||||
|
||||
extern cairo_status_t __internal_linkage
|
||||
cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
||||
cairo_polygon_t *poly,
|
||||
cairo_fill_rule_t fill_rule);
|
||||
_cairo_traps_tessellate_polygon (cairo_traps_t *traps,
|
||||
cairo_polygon_t *poly,
|
||||
cairo_fill_rule_t fill_rule);
|
||||
|
||||
/* cairo_slope.c */
|
||||
|
||||
extern void __internal_linkage
|
||||
_cairo_slope_init (cairo_slope_t *slope, cairo_point_t *a, cairo_point_t *b);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue