Re: [css3-exclusions] remove <fill-rule> from "polygon()" syntax

On Aug 28, 2012, at 1:55 PM, Alan Stearns <stearns@adobe.com> wrote:

> (I hope I fixed the quoting correctly)
> 
> On 8/28/12 12:17 PM, "Bear Travis" <betravis@adobe.com> wrote:
> 
>> On 8/28/12 11:29 AM, "Dirk Schulze" <dschulze@adobe.com> wrote:
>> 
>>> On Aug 28, 2012, at 8:50 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
>>> 
>>>> On Tue, Aug 28, 2012 at 6:45 AM, Dirk Schulze <dschulze@adobe.com>
>>>> wrote:
>>>>> Hi,
>>>>> I think the keywords for <fill-rule> should be removed from the syntax
>>>>> of 'polygon()'[1]. I think the shapes on the exclusion spec can be
>>>>> reused in other contexts as well. One example is <shape> as shorthand
>>>>> for 'clip-path' in the CSS Masking[2] spec. But for 'clip-path' we
>>>>> already have the 'clip-rule' property with the values 'nonzero' and
>>>>> 'evenodd' [3].
>>>>> I would suggest using the 'fill-rule' property from SVG [4] to specify
>>>>> the fill rule on 'polygon()'. This property is already implemented by
>>>>> all browsers anyway.
>>>> 
>>>> I don't see how that works, if shape functions are going to be usable
>>>> in multiple properties.
>>> 
>>> We have clip-rule and fill-rule. So where is the problem?
>> 
>> What would the effect be on CSS Exclusions? [1]
>> 
>> It seems like the css for specifying a shape-inside [2] would change from
>> {
>> shape-inside: polygon(evenOdd, 0 0, 10px 0, 5px 10px 0 0);
>> }
>> To
>> {
>> shape-inside: polygon(0 0, 10px 0, 5px 10px, 0 0);
>> fill-rule: evenOdd;
>> }
>> 
>> Is this correct?
>> 
>> -Bear
>> 
>> [1] http://dev.w3.org/csswg/css3-exclusions/
>> [2] http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property
> 
> Bear,
> 
> 
> I believe that's what Dirk is asking for. But it sounds to me like it
> would need to be an additional property per
> property-that-accepted-shape-syntax (fill-rule, clip-rule - what about
> shape-inside-rule and shape-outside-rule?). And these new properties would
> only apply if the polygon syntax was used. I think it might be better kept
> as a parameter in the polygon function.
> 
Yes, you might be right.

Basic shapes could be a good fit for 'clip-path'. For 'clip-path' we have the 'clip-rule' property which sets the fill-rule. The keyword for the fill-rule on 'polygon()' is optional but nonzero by default. I would like to use the value of the 'clip-rule' property if no keyword was set on 'polygon()'. Is it possible that CSS Exclusions also let other specifications and properties define the clip rule then? E.g.

clip-rule: evenodd;
clip-path: polygon(25% 25%, 50% 50%, 75% 25%);

The clip rule would be evenodd for the polygon(), since 'clip-rule' property defines it.

If the rule was set on the polygon(), it overrides any other property that aims to set the fill rule.

Does that sound reasonable for you?

Greetings,
Dirk

> Thanks,
> 
> Alan
> 

Received on Tuesday, 28 August 2012 22:29:53 UTC