From 0a778d974f2dca2555711ef79e738cb0614b2a3f Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 19 Mar 2012 19:42:01 +0000 Subject: [PATCH] stroke: Adapt rectilinear stroker to handle separable non-unity scaling Reported-by: Christos Sotiriou Signed-off-by: Chris Wilson --- src/cairo-matrix.c | 15 --- src/cairo-path-stroke-boxes.c | 125 +++++++++++----------- src/cairoint.h | 23 +++- test/reference/text-rotate.argb32.ref.png | Bin 16655 -> 0 bytes test/reference/text-rotate.ref.png | Bin 14682 -> 16667 bytes test/reference/text-rotate.rgb24.ref.png | Bin 16655 -> 0 bytes 6 files changed, 84 insertions(+), 79 deletions(-) delete mode 100644 test/reference/text-rotate.argb32.ref.png delete mode 100644 test/reference/text-rotate.rgb24.ref.png diff --git a/src/cairo-matrix.c b/src/cairo-matrix.c index 8da0ca7a4..59f0b8661 100644 --- a/src/cairo-matrix.c +++ b/src/cairo-matrix.c @@ -700,21 +700,6 @@ _cairo_matrix_compute_basis_scale_factors (const cairo_matrix_t *matrix, return CAIRO_STATUS_SUCCESS; } -cairo_bool_t -_cairo_matrix_is_identity (const cairo_matrix_t *matrix) -{ - return (matrix->xx == 1.0 && matrix->yx == 0.0 && - matrix->xy == 0.0 && matrix->yy == 1.0 && - matrix->x0 == 0.0 && matrix->y0 == 0.0); -} - -cairo_bool_t -_cairo_matrix_is_translation (const cairo_matrix_t *matrix) -{ - return (matrix->xx == 1.0 && matrix->yx == 0.0 && - matrix->xy == 0.0 && matrix->yy == 1.0); -} - cairo_bool_t _cairo_matrix_is_integer_translation (const cairo_matrix_t *matrix, int *itx, int *ity) diff --git a/src/cairo-path-stroke-boxes.c b/src/cairo-path-stroke-boxes.c index 12e4dd165..3e8c5a4ce 100644 --- a/src/cairo-path-stroke-boxes.c +++ b/src/cairo-path-stroke-boxes.c @@ -57,7 +57,7 @@ typedef struct _cairo_rectilinear_stroker { const cairo_matrix_t *ctm; cairo_antialias_t antialias; - cairo_fixed_t half_line_width; + cairo_fixed_t half_line_x, half_line_y; cairo_boxes_t *boxes; cairo_point_t current_point; cairo_point_t first_point; @@ -82,11 +82,11 @@ _cairo_rectilinear_stroker_limit (cairo_rectilinear_stroker_t *stroker, stroker->has_bounds = TRUE; _cairo_boxes_get_extents (boxes, num_boxes, &stroker->bounds); - stroker->bounds.p1.x -= stroker->half_line_width; - stroker->bounds.p2.x += stroker->half_line_width; + stroker->bounds.p1.x -= stroker->half_line_x; + stroker->bounds.p2.x += stroker->half_line_x; - stroker->bounds.p1.y -= stroker->half_line_width; - stroker->bounds.p2.y += stroker->half_line_width; + stroker->bounds.p1.y -= stroker->half_line_y; + stroker->bounds.p2.y += stroker->half_line_y; } static cairo_bool_t @@ -122,15 +122,18 @@ _cairo_rectilinear_stroker_init (cairo_rectilinear_stroker_t *stroker, return FALSE; } - if (! _cairo_matrix_has_unity_scale (ctm)) + if (! _cairo_matrix_is_scale (ctm)) return FALSE; stroker->stroke_style = stroke_style; stroker->ctm = ctm; stroker->antialias = antialias; - stroker->half_line_width = - _cairo_fixed_from_double (stroke_style->line_width / 2.0); + stroker->half_line_x = + _cairo_fixed_from_double (fabs(ctm->xx) * stroke_style->line_width / 2.0); + stroker->half_line_y = + _cairo_fixed_from_double (fabs(ctm->yy) * stroke_style->line_width / 2.0); + stroker->open_sub_path = FALSE; stroker->segments = stroker->segments_embedded; stroker->segments_size = ARRAY_LENGTH (stroker->segments_embedded); @@ -197,7 +200,8 @@ static cairo_status_t _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t *stroker) { cairo_line_cap_t line_cap = stroker->stroke_style->line_cap; - cairo_fixed_t half_line_width = stroker->half_line_width; + cairo_fixed_t half_line_x = stroker->half_line_x; + cairo_fixed_t half_line_y = stroker->half_line_y; cairo_status_t status; int i; @@ -238,26 +242,26 @@ _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t *stroker) if (a->y == b->y) { if (a->x < b->x) { if (lengthen_initial) - a->x -= half_line_width; + a->x -= half_line_x; if (lengthen_final) - b->x += half_line_width; + b->x += half_line_x; } else { if (lengthen_initial) - a->x += half_line_width; + a->x += half_line_x; if (lengthen_final) - b->x -= half_line_width; + b->x -= half_line_x; } } else { if (a->y < b->y) { if (lengthen_initial) - a->y -= half_line_width; + a->y -= half_line_y; if (lengthen_final) - b->y += half_line_width; + b->y += half_line_y; } else { if (lengthen_initial) - a->y += half_line_width; + a->y += half_line_y; if (lengthen_final) - b->y -= half_line_width; + b->y -= half_line_y; } } } @@ -265,11 +269,11 @@ _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t *stroker) /* Form the rectangle by expanding by half the line width in * either perpendicular direction. */ if (a->y == b->y) { - a->y -= half_line_width; - b->y += half_line_width; + a->y -= half_line_y; + b->y += half_line_y; } else { - a->x -= half_line_width; - b->x += half_line_width; + a->x -= half_line_x; + b->x += half_line_x; } if (a->x < b->x) { @@ -301,7 +305,8 @@ _cairo_rectilinear_stroker_emit_segments_dashed (cairo_rectilinear_stroker_t *st { cairo_status_t status; cairo_line_cap_t line_cap = stroker->stroke_style->line_cap; - cairo_fixed_t half_line_width = stroker->half_line_width; + cairo_fixed_t half_line_x = stroker->half_line_x; + cairo_fixed_t half_line_y = stroker->half_line_y; int i; for (i = 0; i < stroker->num_segments; i++) { @@ -332,25 +337,25 @@ _cairo_rectilinear_stroker_emit_segments_dashed (cairo_rectilinear_stroker_t *st if (is_horizontal) { if (box.p1.x <= box.p2.x) { box.p1.x = box.p2.x; - box.p2.x += half_line_width; + box.p2.x += half_line_x; } else { - box.p1.x = box.p2.x - half_line_width; + box.p1.x = box.p2.x - half_line_x; } if (out_slope.dy >= 0) - box.p1.y -= half_line_width; + box.p1.y -= half_line_x; if (out_slope.dy <= 0) - box.p2.y += half_line_width; + box.p2.y += half_line_x; } else { if (box.p1.y <= box.p2.y) { box.p1.y = box.p2.y; - box.p2.y += half_line_width; + box.p2.y += half_line_x; } else { - box.p1.y = box.p2.y - half_line_width; + box.p1.y = box.p2.y - half_line_x; } if (out_slope.dx >= 0) - box.p1.x -= half_line_width; + box.p1.x -= half_line_x; if (out_slope.dx <= 0) - box.p2.x += half_line_width; + box.p2.x += half_line_x; } status = _cairo_boxes_add (stroker->boxes, stroker->antialias, &box); @@ -362,29 +367,29 @@ _cairo_rectilinear_stroker_emit_segments_dashed (cairo_rectilinear_stroker_t *st if (is_horizontal) { if (line_cap == CAIRO_LINE_CAP_SQUARE) { if (a->x <= b->x) { - a->x -= half_line_width; - b->x += half_line_width; + a->x -= half_line_x; + b->x += half_line_x; } else { - a->x += half_line_width; - b->x -= half_line_width; + a->x += half_line_x; + b->x -= half_line_x; } } - a->y += half_line_width; - b->y -= half_line_width; + a->y += half_line_y; + b->y -= half_line_y; } else { if (line_cap == CAIRO_LINE_CAP_SQUARE) { if (a->y <= b->y) { - a->y -= half_line_width; - b->y += half_line_width; + a->y -= half_line_y; + b->y += half_line_y; } else { - a->y += half_line_width; - b->y -= half_line_width; + a->y += half_line_y; + b->y -= half_line_y; } } - a->x += half_line_width; - b->x -= half_line_width; + a->x += half_line_x; + b->x -= half_line_x; } if (a->x == b->x && a->y == b->y) @@ -621,40 +626,40 @@ _cairo_path_fixed_stroke_rectilinear_to_boxes (const cairo_path_fixed_t *path, if (! rectilinear_stroker.dash.dashed && _cairo_path_fixed_is_stroke_box (path, &box) && /* if the segments overlap we need to feed them into the tessellator */ - box.p2.x - box.p1.x > 2* rectilinear_stroker.half_line_width && - box.p2.y - box.p1.y > 2* rectilinear_stroker.half_line_width) + box.p2.x - box.p1.x > 2* rectilinear_stroker.half_line_x && + box.p2.y - box.p1.y > 2* rectilinear_stroker.half_line_y) { cairo_box_t b; /* top */ - b.p1.x = box.p1.x - rectilinear_stroker.half_line_width; - b.p2.x = box.p2.x + rectilinear_stroker.half_line_width; - b.p1.y = box.p1.y - rectilinear_stroker.half_line_width; - b.p2.y = box.p1.y + rectilinear_stroker.half_line_width; + b.p1.x = box.p1.x - rectilinear_stroker.half_line_x; + b.p2.x = box.p2.x + rectilinear_stroker.half_line_x; + b.p1.y = box.p1.y - rectilinear_stroker.half_line_y; + b.p2.y = box.p1.y + rectilinear_stroker.half_line_y; status = _cairo_boxes_add (boxes, antialias, &b); assert (status == CAIRO_INT_STATUS_SUCCESS); /* left (excluding top/bottom) */ - b.p1.x = box.p1.x - rectilinear_stroker.half_line_width; - b.p2.x = box.p1.x + rectilinear_stroker.half_line_width; - b.p1.y = box.p1.y + rectilinear_stroker.half_line_width; - b.p2.y = box.p2.y - rectilinear_stroker.half_line_width; + b.p1.x = box.p1.x - rectilinear_stroker.half_line_x; + b.p2.x = box.p1.x + rectilinear_stroker.half_line_x; + b.p1.y = box.p1.y + rectilinear_stroker.half_line_y; + b.p2.y = box.p2.y - rectilinear_stroker.half_line_y; status = _cairo_boxes_add (boxes, antialias, &b); assert (status == CAIRO_INT_STATUS_SUCCESS); /* right (excluding top/bottom) */ - b.p1.x = box.p2.x - rectilinear_stroker.half_line_width; - b.p2.x = box.p2.x + rectilinear_stroker.half_line_width; - b.p1.y = box.p1.y + rectilinear_stroker.half_line_width; - b.p2.y = box.p2.y - rectilinear_stroker.half_line_width; + b.p1.x = box.p2.x - rectilinear_stroker.half_line_x; + b.p2.x = box.p2.x + rectilinear_stroker.half_line_x; + b.p1.y = box.p1.y + rectilinear_stroker.half_line_y; + b.p2.y = box.p2.y - rectilinear_stroker.half_line_y; status = _cairo_boxes_add (boxes, antialias, &b); assert (status == CAIRO_INT_STATUS_SUCCESS); /* bottom */ - b.p1.x = box.p1.x - rectilinear_stroker.half_line_width; - b.p2.x = box.p2.x + rectilinear_stroker.half_line_width; - b.p1.y = box.p2.y - rectilinear_stroker.half_line_width; - b.p2.y = box.p2.y + rectilinear_stroker.half_line_width; + b.p1.x = box.p1.x - rectilinear_stroker.half_line_x; + b.p2.x = box.p2.x + rectilinear_stroker.half_line_x; + b.p1.y = box.p2.y - rectilinear_stroker.half_line_y; + b.p2.y = box.p2.y + rectilinear_stroker.half_line_y; status = _cairo_boxes_add (boxes, antialias, &b); assert (status == CAIRO_INT_STATUS_SUCCESS); diff --git a/src/cairoint.h b/src/cairoint.h index 855e5449e..9a8003e57 100644 --- a/src/cairoint.h +++ b/src/cairoint.h @@ -1657,11 +1657,26 @@ cairo_private cairo_status_t _cairo_matrix_compute_basis_scale_factors (const cairo_matrix_t *matrix, double *sx, double *sy, int x_major); -cairo_private cairo_bool_t -_cairo_matrix_is_identity (const cairo_matrix_t *matrix) cairo_pure; +static inline cairo_bool_t +_cairo_matrix_is_identity (const cairo_matrix_t *matrix) +{ + return (matrix->xx == 1.0 && matrix->yx == 0.0 && + matrix->xy == 0.0 && matrix->yy == 1.0 && + matrix->x0 == 0.0 && matrix->y0 == 0.0); +} -cairo_private cairo_bool_t -_cairo_matrix_is_translation (const cairo_matrix_t *matrix) cairo_pure; +static inline cairo_bool_t +_cairo_matrix_is_translation (const cairo_matrix_t *matrix) +{ + return (matrix->xx == 1.0 && matrix->yx == 0.0 && + matrix->xy == 0.0 && matrix->yy == 1.0); +} + +static inline cairo_bool_t +_cairo_matrix_is_scale (const cairo_matrix_t *matrix) +{ + return matrix->yx == 0.0 && matrix->xy == 0.0; +} cairo_private cairo_bool_t _cairo_matrix_is_integer_translation(const cairo_matrix_t *matrix, diff --git a/test/reference/text-rotate.argb32.ref.png b/test/reference/text-rotate.argb32.ref.png deleted file mode 100644 index b455aab63c10fc77f990f70126604a1b3797f08b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16655 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 Ef6TM-wEzGB literal 14682 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 diff --git a/test/reference/text-rotate.rgb24.ref.png b/test/reference/text-rotate.rgb24.ref.png deleted file mode 100644 index b455aab63c10fc77f990f70126604a1b3797f08b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16655 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