[whatwg] Proposal: change 2D canvas currentTransform to getter method

Justin Novosad junov at google.com
Thu Mar 20 10:52:12 PDT 2014

Hello all,

The recently added currentTransform attribute on CanvasRenderingContext2D
gives shared access to the rendering context's transform. By "shared", I

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?


    -Justin Novosad

More information about the whatwg mailing list