[cairo-commit] src/cairo-rectangle.c
Vladimir Vukicevic
vladimir at kemper.freedesktop.org
Tue Feb 5 16:14:54 PST 2008
src/cairo-rectangle.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
New commits:
commit 1d93e148766ded8f3105277f944849f6297974fb
Author: Vladimir Vukicevic <vladimir at pobox.com>
Date: Tue Feb 5 16:14:51 2008 -0800
Followup patch to dashed stroke optimization
Make sure that we don't test lines that start or end inside the box,
since our algorithm will find intersections on the wrong ends on the
line, and not count them.
diff --git a/src/cairo-rectangle.c b/src/cairo-rectangle.c
index 58426f3..7ebdfb5 100644
--- a/src/cairo-rectangle.c
+++ b/src/cairo-rectangle.c
@@ -111,8 +111,14 @@ _cairo_box_intersects_line (cairo_box_t *box, cairo_line_t *line)
cairo_fixed_t t1, t2, t3, t4;
cairo_int64_t t1y, t2y, t3x, t4x;
- cairo_fixed_t xlen = P2x - P1x;
- cairo_fixed_t ylen = P2y - P1y;
+ cairo_fixed_t xlen, ylen;
+
+ if (_cairo_box_contains_point(box, &line->p1) ||
+ _cairo_box_contains_point(box, &line->p2))
+ return TRUE;
+
+ xlen = P2x - P1x;
+ ylen = P2y - P1y;
if (xlen) {
if (xlen > 0) {
More information about the cairo-commit
mailing list