[whatwg] Canvas Path.addPath SVGMatrix not optimal?

Justin Novosad junov at google.com
Thu Mar 20 07:01:50 PDT 2014

On Wed, Mar 19, 2014 at 5:47 PM, Rik Cabanier <cabanier at gmail.com> wrote:

> On Wed, Mar 19, 2014 at 2:22 PM, Justin Novosad <junov at 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).
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

More information about the whatwg mailing list