On Wed, Mar 19, 2014 at 5:47 PM, Rik Cabanier <caban...@gmail.com> wrote:
> > On Wed, Mar 19, 2014 at 2:22 PM, Justin Novosad <ju...@google.com> wrote: >> >> >> I agree it should be optional, but just to play devil's advocate : you can >> create an identity SVGMatrix with a simpler bit of code. Just do this >> right >> after creating a canvas rendering context: var identity = >> context.currentTransform; >> > > Hi Justin, > > did Blink already expose this property? > It is implemented, but not exposed (hidden behind the experimental canvas features flag) > As currently specified, this must return a live SVGMatrix object, meaning > that as you change the CTM on the 2d context, your reference to the > SVGMatrix should change as well. [1] > D'oh! I totally missed that when I reviewed the implementation. In fact, the implementer even went to great length to ensure the opposite behavior (making a copy). https://codereview.chromium.org/24233004 I'll make sure that gets fixed. > It's unlikely that you actually want this... > This API should be renamed to get/setCurrentTransform() and return a copy. > Yes, making a copy felt like the most desirable behavior, so I did not think twice about the fact that the implementation performs a copy. Anyways, thanks for catching this. > 1: > http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-currenttransform >