- From: Rik Cabanier <cabanier@gmail.com>
- Date: Fri, 21 Mar 2014 21:10:54 -0700
- To: Simon Sarris <simon.sarris@gmail.com>
- Cc: Justin Novosad <junov@google.com>, WHAT Working Group <whatwg@whatwg.org>
On Thu, Mar 20, 2014 at 11:18 AM, Simon Sarris <simon.sarris@gmail.com>wrote: > On Thu, Mar 20, 2014 at 1:52 PM, Justin Novosad <junov@google.com> wrote: > > > Hello all, > > > > The recently added currentTransform attribute on CanvasRenderingContext2D > > gives shared access to the rendering context's transform. By "shared", I > > mean: > > > > a) this code modifies the CTM: > > var matrix = context.currentTransform; > > matrix.a = 2; > > > > b) In this code, the second line modifies matrix: > > var matrix = context.currentTransform; > > context.scale(2, 2); > > > > This behavior is probably not what most developers would expect. > > I would like to propose changing this to a getter method instead. We > > already have a setter method (setTransform). > > > > In another thread entitled "Canvas Path.addPath SVGMatrix not optimal", > > Dirk Schulze proposed using the name getCTM, which would be consistent > with > > the SVGLocatable interface, where getCTM returns an SVGMatrix. On the > other > > hand, we could call it getTransform to be consistent with the existing > > setTransform on CRC2D. Opinions? Perhaps we should also have an overload > of > > setTransform (or setCTM) that would take an SVGMatrix. > > > > First of all, have any browsers shipped currentTransform yet? > > > > Thoughts? > > > > -Justin Novosad > > > FF (at least Aurora/Nightlies) has for some time had mozCurrentTransform > (and mozCurrentTransformInverse), which return an Array (so not > spec-compliant, since spec wants SVGMatrix). It is not shared, so it does > not do what your a) and b) examples do. > > I agree that changing it to a getter method would be better, it would be > more intuitive and clear for developers. > Looking over this thread, getTransform gets the most support. we could add the following methods: SVGMatrix getTransform(); void setTransform(SVGMatrix);
Received on Saturday, 22 March 2014 04:11:26 UTC