[fxtf-drafts] [geometry] Add a 2d-only matrix dictionary type

zcorpan has just created a new issue for https://github.com/w3c/fxtf-drafts:

== [geometry] Add a 2d-only matrix dictionary type ==
https://drafts.fxtf.org/geometry/#dom-dommatrix-setmatrixvalue-transformlist-transformlist

> dictionary DOMMatrixInit \{
>     unrestricted double a;
>     unrestricted double b;
>     unrestricted double c;
>     unrestricted double d;
>     unrestricted double e;
>     unrestricted double f;
>     unrestricted double m11;
>     unrestricted double m12;
>     unrestricted double m13 =​ 0;
>     unrestricted double m14 =​ 0;
>     unrestricted double m21;
>     unrestricted double m22;
>     unrestricted double m23 =​ 0;
>     unrestricted double m24 =​ 0;
>     unrestricted double m31 =​ 0;
>     unrestricted double m32 =​ 0;
>     unrestricted double m33 =​ 1;
>     unrestricted double m34 =​ 0;
>     unrestricted double m41;
>     unrestricted double m42;
>     unrestricted double m43 =​ 0;
>     unrestricted double m44 =​ 1;
>     boolean is2D;
> \};

In https://github.com/whatwg/html/issues/2826 there is a need identified to throw away 3d stuff of a matrix given as argument to `setTransform()` in 2d canvas.

I think a new dictionary type for that could be added to do this, something like

```
dictionary DOMMatrix2dInit {
    unrestricted double a;
    unrestricted double b;
    unrestricted double c;
    unrestricted double d;
    unrestricted double e;
    unrestricted double f;
    unrestricted double m11;
    unrestricted double m12;
    unrestricted double m21;
    unrestricted double m22;
    unrestricted double m41;
    unrestricted double m42;
};
```
...with "validate and fixup" defined as appropriate, and the current `DOMMatrixInit` can inherit from `DOMMatrix2dInit` I believe.

(I don't know if SVG could use this as well? cc @fsoder @AmeliaBR )

Thoughts?

Please view or discuss this issue at https://github.com/w3c/fxtf-drafts/issues/210 using your GitHub account

Received on Tuesday, 15 August 2017 13:03:24 UTC