- From: Dirk Schulze <dschulze@adobe.com>
- Date: Sat, 22 Mar 2014 07:45:15 +0000
- To: Rik Cabanier <cabanier@gmail.com>
- Cc: Justin Novosad <junov@google.com>, Simon Sarris <simon.sarris@gmail.com>, WHAT Working Group <whatwg@whatwg.org>
Sent from my iPhone > On Mar 22, 2014, at 5:11 AM, "Rik Cabanier" <cabanier@gmail.com> wrote: > > 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); The getter does. I would still vote for interoperability and name it getCTM() which returns an SVGMatrix in SVG too. Greetings Dirk
Received on Saturday, 22 March 2014 07:45:43 UTC