Description
Transform
currently looks like this:
type Transform =
{ m11 :: Number
, m12 :: Number
, m21 :: Number
, m22 :: Number
, m31 :: Number
, m32 :: Number
}
It doesn't cause any problems currently, because the arguments are just passed in order to ctx.transform
and ctx.setTransform
. But, the names of the last two fields are wrong, which can lead to confusion.
In setTransform
and transform
(MDN docs links), they are primarily referred to as a, b, c, d, e, f
, but also as m11, m12, m21, m22, dx, dy
.
Also, ctx.getTransform
returns a DOMMatrix
, whose docs page mentions that e
and f
are equivalent to m41
and m42
respectively, and that m31
and m32
mean something completely different, relating to 3D transformations.
I remember talking briefly about this in Slack with Phil a while ago, but forgot to open an issue/PR for it.
I think the best solution would be to change Transform
to look like this:
type Transform =
{ a :: Number
, b :: Number
, c :: Number
, d :: Number
, e :: Number
, f :: Number
}
Would this be reasonable to have as a breaking change for 0.14? I can make a PR for it if wanted.