W3C home > Mailing lists > Public > www-style@w3.org > August 2012

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

From: Dirk Schulze <dschulze@adobe.com>
Date: Tue, 28 Aug 2012 15:54:31 -0700
To: Rik Cabanier <cabanier@gmail.com>
CC: Alan Stearns <stearns@adobe.com>, Bear Travis <betravis@adobe.com>, "Tab Atkins Jr." <jackalmage@gmail.com>, www-style list <www-style@w3.org>
Message-ID: <5BD662D0-9D23-4734-A37E-E9E99DAF38A8@adobe.com>

On Aug 28, 2012, at 3:51 PM, Rik Cabanier <cabanier@gmail.com> wrote:

> I think fill/clip-rule should stay with the marking operator in CSS.
> It makes much more sense to keep them there than making them part of the graphics state and it will make the implementation much easier.
> (I know this is different from SVG.)
I am not sure what you mean. Can you clarify more please?

Dirk

> 
> Rik
> 
> On Tue, Aug 28, 2012 at 3:28 PM, Dirk Schulze <dschulze@adobe.com> wrote:
> 
> 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:55:01 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:59 GMT