- From: Justin Novosad <junov@google.com>
- Date: Mon, 17 Mar 2014 13:18:48 -0400
- To: Rik Cabanier <cabanier@gmail.com>
- Cc: Dirk Schulze <dschulze@adobe.com>, WHATWG List <whatwg@whatwg.org>, Ian Hickson <ian@hixie.ch>
On Mon, Mar 17, 2014 at 12:59 PM, Rik Cabanier <cabanier@gmail.com> wrote: > > > > On Mon, Mar 17, 2014 at 8:45 AM, Justin Novosad <junov@google.com> wrote: > >> On Mon, Mar 17, 2014 at 11:35 AM, Dirk Schulze <dschulze@adobe.com> >> wrote: >> >> > >> > > Hmmm, I gave this a bit more thought... To apply the construction >> > > algorithm in transformed space, the ellipse parameters (radiusX, >> radiusY, >> > > rotation) would have to be transformed. Transforming the parameters >> would >> > > be intractable under a projective transform (e.g. perspective), but >> since >> > > we are limitted to affine transforms, it can be done. Now, in the >> case >> > of >> > > a non-invertible CTM, we would end up with radiusX or radiusY or both >> > equal >> > > to zero. And what happens when you have that? Your arcTo just turned >> > into >> > > lineTo(x1, y1). Tada! >> > >> > Why does radiusX or radiusY need to be zero? Because you define it that >> > way for a non-invertible matrix? That makes sense for scale(0,0). What >> > about infinity or NaN? If Ian didn’t update the spec then this is still >> > undefined and therefore up to the UA to decide. >> > >> > >> Oh yeah, I was totally forgetting about singularities caused by non-finite >> values. Could we just the same agree to resolve that case by treating >> arcTo as lineTo(x1, y1) in the case of a non-invertible CTM? Or do you >> think there is a more logical thing to do? >> > > Make a clean cut and define that drawing operators are ignored when > there's a non-invertible matrix. > > I could totally go for that, but you are talking about going back on the spec of a feature that has shipped, as opposed to clarifying edges cases. Maybe that would be fine in this case though...
Received on Monday, 17 March 2014 17:20:14 UTC