[whatwg] Canvas Path.addPath SVGMatrix not optimal?

Rik Cabanier cabanier at gmail.com
Thu Mar 20 08:23:29 PDT 2014


On Thu, Mar 20, 2014 at 7:01 AM, Justin Novosad <junov at google.com> wrote:

>
>
>
> 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).
> https://codereview.chromium.org/24233004
> I'll make sure that gets fixed.
>

By "fixed", do you mean you will return a reference or change the name of
the API? :-)


> 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.
>


More information about the whatwg mailing list