- From: Rik Cabanier <cabanier@gmail.com>
- Date: Mon, 4 Nov 2013 19:29:40 -0800
- To: "Robert O'Callahan" <robert@ocallahan.org>
- Cc: "whatwg@whatwg.org" <whatwg@whatwg.org>, Jürg Lehni <lists@scratchdisk.com>, Ian Hickson <ian@hixie.ch>
On Mon, Nov 4, 2013 at 5:21 PM, Robert O'Callahan <robert@ocallahan.org>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.
Received on Tuesday, 5 November 2013 03:30:08 UTC