Commit Graph

6 Commits

Author SHA1 Message Date
Patrick Walton f132117d4c Don't add overlapping points to close paths in the stroking algorithm.
These extra points are unnecessary and can confuse the partitioner,
because they sometimes prevent it from detecting winding numbers
properly. This is a bug in the partitioner and should be fixed, but we
shouldn't be generating these points to begin with.

Partially addresses #57.
2017-12-21 13:22:23 -08:00
Patrick Walton 98250b9232 Close stroke paths as necessary.
Partially addresses #57.
2017-12-21 11:56:12 -08:00
Patrick Walton 6a81ec4893 Make SVG stroke width more accurate, and switch to XCAA by default.
Partially addresses #57.
2017-12-20 10:40:21 -08:00
Patrick Walton 8de1970682 Implement stroking ourselves, and rename `PathSegment` to `PathCommand`.
This makes Pathfinder no longer use the FreeType stroker.
2017-10-04 18:57:30 -07:00
Patrick Walton c36896e337 Implement path stroking using the FreeType stroker.
I'm not too happy with this, as I discovered a segfault in FreeType that doesn't give me confidence
in this as a solution for the long term. Additionally, this exposes the problems in the partitioner
with lack of winding fill rule, proper handling of self-intersections, and splitting of paths at
their extrema. (I believe these problems should be fairly straightforward to handle, but we just
don't handle them yet.)
2017-09-08 16:50:27 -07:00
Patrick Walton 3e5b53f13c Partially refactor the path APIs to be streaming, like Lyon 2017-09-08 13:09:00 -07:00