- From: Rik Cabanier <cabanier@gmail.com>
- Date: Mon, 28 Oct 2013 10:39:31 -0700
- To: Justin Novosad <junov@google.com>
- Cc: "whatwg@whatwg.org" <whatwg@whatwg.org>, Ian Hickson <ian@hixie.ch>
Received on Monday, 28 October 2013 17:40:06 UTC
On Mon, Oct 28, 2013 at 7:04 AM, Justin Novosad <junov@google.com> wrote: > > On Sun, Oct 27, 2013 at 10:36 PM, Rik Cabanier <cabanier@gmail.com> wrote: > >> The outline should be done in such a way that it is not affected by >> winding. >> > > Why is that important? Enforcing that can add a lot of complexity to cases > of self intersecting strokes, or line caps that overlap ( > http://jsfiddle.net/aBmZ4/2/). Today, these problems are easy to solve > correctly by using a non-zero fill. > Hi Justin, this was for APIs that calculates the outline/path of a stroke. Regular strokes can use nzo-fill (if they're implemented by drawing paths). Being winding agnostic is more author friendly. Otherwise the author would have to remember that the other winding would give bad results. I've relied on this behavior of our path optimizer many times in the past. Compared to how difficult it is to get a useful outlined stroke, reversing paths is very easy. A "useful" stroke needs to remove subsections that have a color on both sides. I've attached an example outlined_stroke.png. Example 1 is a dashed stroke where the endcaps overlap Example 2 is the path that is calculated by the stroking algorithm and filled with NZO Example 3 is the path that describes the region of the stroke and is what would be useful for an author
Received on Monday, 28 October 2013 17:40:06 UTC