- From: Shane Stephens <shans@google.com>
- Date: Wed, 17 Feb 2016 02:52:11 +0000
- To: Alan Stearns <stearns@adobe.com>, "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: Amelia Bellamy-Royds <amelia.bellamy.royds@gmail.com>, "public-fx@w3.org" <public-fx@w3.org>
- Message-ID: <CAGTfzwSGdkMhAm2w-hP8t0GnDZJLbG5E=fssrd4cc0UY3B+U1Q@mail.gmail.com>
On Wed, Feb 17, 2016 at 1:25 PM Alan Stearns <stearns@adobe.com> wrote: > On 2/16/16, 1:56 PM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote: > > >After some discussion with Shane, we have a new proposal: > > > >1. Drop fill-rule from path() and polygon(). This keeps all the shape > >functions as just specifying the path geometry, so they're usable > >everywhere without confusion. > >2. In properties that need to know the shape's fill, just accompany > >those functions with an optional fill-rule in the property grammar, > >like "even-odd path(...)". This allows just the specific instances > >that require fill information to receive it. > > > >This avoids all the confusing situations. We don't have the potential > >of useless fill-rules in motion-path, and we don't have confusing > >conflicts between the path() specified fill-rule and the 'fill-rule' > >specified one in <path> elements. You still get to supply the > >fill-rule in the situations where it's relevant, like shape-inside. > > > >I think this should have minimal or zero compat impact? > > I’d be OK with this change (if the compat impact is minimal). It’s > certainly better than having two functions for each that only differed in > whether they accepted a fill-rule parameter. > > I’d also be OK with leaving fill-rule in the functions, even for > properties that ignore it. I don’t find it that confusing or > author-hostile. An optional parameter seems like a good fit to me for a > sometimes-relevant value. > In this world, what would the effect of this be? .my-path { d: path(evenodd, '.....'); } Or this? .my-path { d: path(nonzero, '.....'); fill-rule: evenodd; } What I was getting at by 'author hostile' is that we probably have to explicitly ignore a value that is relevant and was specified by the user, due to there being a separate property available to specify that value. Tab pointed out to me that there is an alternative, though it's also not wonderful - we can make the computed value of fill-rule depend on the computed value of d (and define fill-rule to take precedence if the value isn't auto). I'd be mildly opposed to this on implementation grounds though (the existing list of property dependencies is a major wart on at least our style engine implementation, and adding to that list is not something we particularly want to do). Cheers, -Shane > Thanks, > > Alan > >
Received on Wednesday, 17 February 2016 02:52:52 UTC