[whatwg] [Canvas] Behavior on non-invertable CTM

Ian Hickson ian at hixie.ch
Fri Mar 14 13:50:41 PDT 2014

On Fri, 7 Feb 2014, Justin Novosad wrote:
> > >
> > > Current text: If the point (x0, y0) is equal to the point (x1, y1), 
> > > or if the point (x1, y1) is equal to the point (x2, y2), or if both 
> > > radiusX and radiusY are zero, then the method must add the point 
> > > (x1, y1) to the subpath, and connect that point to the previous 
> > > point (x0, y0) by a straight line.
> With arcTo, the first point (x0, y0) may have been added to the current 
> subpath using a different CTM. So to bring it into the local space of 
> the current primitive, we need an invertible CTM.

What I don't understand is why you can't draw the curve in the transformed 
space instead of the 1:1 coordinate space. You have to transform it 
eventually, right? And the points will end up simply transformed. So you 
can easily compare the points in the transformed space. All the transforms 
are affine, so what's a straight line isn't impacted. Can't you just draw 
the transformed arc instead of first drawing the circular arc and then 
transforming it?

Maybe what I'm saying is obviously dumb for some reason, but I'm not 
understanding why, if so... (not that I'm a graphics guy, obviously).

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the whatwg mailing list