Re: [csswg-drafts] [css-shapes] Find a way to create a polygon with rounded-corners and non-absolute coordinates (#5674)

> For what it's worth, I'd prefer to keep the [SVG `d` attribute syntax](https://www.w3.org/TR/SVG2/paths.html#PathData) with case-sensitive single-letter commands for verbatim dumps into `path(<string>)` and define the more CSSish keyword syntax as a new type, e.g.:
> 
> ```ebnf
> <complex-shape> ::= shape( [
>     [[horizontal|vertical] [to|by] <<length-percentage>>+] |
>     [[move|line] [to|by] <coordinate-pair>+] |
>     [qurve [to|by] [<coordinate-pair> [via <coordinate-pair>]?]+] |
>     [curve [to|by] [<coordinate-pair> [via <coordinate-pair>{1,2}]?]+] |
>     [arc [to|by] [<coordinate-pair> [at <<length-percentage>>{1,2}] <<angle>>? large-arc? sweep?]+] |
>     [close]
>   ]# );
> 
> <coordinate-pair> ::= <<length-percentage>>{2};
> ```

I can go with `shape` instead of `path`, and some of your other suggestions... thanks!
I don't like `qurve` though, feels a bit like a word that's not used anywhere else... Maybe something like:
```
<complex-shape> ::= shape([evenodd, ]? [from <coordinate-pair>]+,  [
    [[horizontal|vertical] [to|by] <<length-percentage>>+] |
    [[move|line] [to|by] <coordinate-pair>+] |
    [smooth curve [to|by] [<coordinate-pair> [via <coordinate-pair>]?]+] |
    [curve [to|by] [<coordinate-pair> [via <coordinate-pair>{1,2}]?]+] |
    [arc [to|by] [<coordinate-pair> [at <<length-percentage>>{1,2}] <<angle>>? large-arc? sweep?]+] |
    [close]
  ]# );
```
where `curve` without `smooth` would be cubic or quadratic based on number of arguments.



-- 
GitHub Notification of comment by noamr
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5674#issuecomment-720491261 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 2 November 2020 14:03:54 UTC