On Mon, Nov 4, 2013 at 5:21 PM, Robert O'Callahan <[email protected]>wrote:
> If you return a path in user-space, what do you get if you call > getCurrentPath with a singular transform? > ctx.moveTo(0,0); > ctx.lineTo(1,1); > ctx.scale(0,0); > var p = ctx.getCurrentPath(); > I mixed up my terms :-) getCurrentPath should return the path in device coordinates (not user). However, for your example, I'm unsure what the right solution is. The canvas specification is silent on what the behavior is for non-invertible matrices. I think setting scale(0,0) or another matrix operation that is not reversible, should remove drawing operations from the state because: - how would you stroke with such a matrix? - how do patterns operate? the same for gradient fills. - how would you pass this to the underlying graphics library? - certain operators such as 'arc' rely on doing the transform in reverse. I seem to remember that for SVG we decided that non-invertible matrices don't draw either.
