Re: [css-shapes] polygon with one or two coordinate pairs

On Sep 29, 2013, at 7:12 PM, Alan Stearns <stearns@adobe.com> wrote:

> On 9/29/13 9:51 AM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote:
> 
>> On Sun, Sep 29, 2013 at 7:34 AM, Dirk Schulze <dschulze@adobe.com> wrote:
>>> The specification currently does not mention what should happen if an
>>> author just specifies one or two pairs of coordinates with the polygon()
>>> function. At the moment it is not clear if you need to specify at least
>>> one pair at all:
>>> 
>>> ""
>>> polygon() starts with an optional <fill-rule> argument, followed by a
>>> list of arguments consisting of <length> or <percentage> pairs.
>>> ""
>>> 
>>> For two pairs, do authors see the text wrap around this line between
>>> these two coordinates? I would assume so, but just want to be sure.
>>> For one pair, does the text wrap around this point, or do we have any
>>> different behavior?
>> 
>> We should require at least three points; we don't need to allow
>> degenerate polygons at all.
> 
> If the shape has no area, the float area it creates is empty, so there is
> no wrapping around the shape. The spec has an example of a shape with no
> extent, showing that it has no effect on wrapping. So a polygon that just
> describes a line (which you can do with 3+ points as well) allows inline
> content to flow through the entire float box.
> 
> We can define polygon() to take at least three points, but is there any
> reason you'd want to allow a point or line in CSS Masking, Dirk?

See comment at the end.

> 
>> 
>>> If a line or point defined by the polygon is between two lines (set
>>> with line-height maybe), do we still se wrapping behavior? Is there even
>>> something like spacing between lines?
>> 
>> Whatever a zero-height float does to the following line.  This is
>> defined somewhere, as I remember it coming up in the drive toward 2.1
>> Rec.
> 
> If there is no area in the shape at that point, say with the third vertex
> in this polygon:
> 
> polygon (0% 0%, 50% 50%, 100% 50%, 50% 50%, 0% 100%)
> 
> Then there is no interaction at that point with the line boxes. The
> polygon above is equivalent to this one as far as float areas are
> concerned.
> 
> polygon (0% 0%, 50% 50%, 0% 100%)
> 
> But if there is any area in the shape, then the line boxes must be
> shortened to avoid any intersection. The line boxes include the area
> defined by line-height - there is normally no 'spacing between lines'
> where a float area could intrude without interacting with the line box.

The clipping area behaves similar to your description of the floating area. Everything outside the clipping area gets invisible. Since the clipping area is empty, everything will be invisible. This discussion convinces me that this needs and example in the spec though.

For CSS Masking it also doesn't matter if you allow one or two points. Just no point at all would be something that needs consideration. I would require at least one point to make it clear.

Greetings,
Dirk

> 
> 
> Thanks,
> 
> Alan
> 

Received on Sunday, 29 September 2013 18:05:43 UTC