This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Dr. O. Hoffmann asked in a comment [1] if we want to use 3x2 and 4x4, or if we always want to use 4x4 for CSSMatrix. And now that we merge CSS 2D Transforms and CSS 3D Transforms we run into the same question. Does it still make sense to differ between 3x2 and 4x4 in the CSS Transforms spec, or should CSSMatrix always be a 4x4 matrix? If we decide to use a 4x4 matrix, we can remove all comments about 3x2 matrices. It will just be necessary to describe how matrix(a,b,c,d,e,f) fits into a 4x4 matrix. Also, if we have following IDL for CSSMatrix: interface CSSMatrix { attribute double a; attribute double b; attribute double c; attribute double d; attribute double e; attribute double f; attribute double m11; attribute double m12; attribute double m13; attribute double m14; attribute double m21; attribute double m22; attribute double m23; attribute double m24; attribute double m31; attribute double m32; attribute double m33; attribute double m34; attribute double m41; attribute double m42; attribute double m43; attribute double m44; void setMatrixValue(in DOMString string) raises(DOMException); CSSMatrix multiply(in CSSMatrix secondMatrix); CSSMatrix inverse() raises(DOMException); CSSMatrix translate(in double x, in double y, optional in double z); CSSMatrix scale(in double scaleX, optional in double scaleY, optional in double scaleZ); CSSMatrix rotate(in double rotX, optional in double rotY, optional in double rotZ); CSSMatrix rotateAxisAngle(in double x, in double y, in double z, in double angle); CSSMatrix skewX(in double angle); CSSMatrix skewY(in double angle); }; a-f just make sense for a 2D Matrix. Do we want to add a flag if the matrix has 3d components? Like: bool isAffine(); Internally it would do something like: return (m13() == 0 && m14() == 0 && m23() == 0 && m24() == 0 && m31() == 0 && m32() == 0 && m33() == 1 && m34() == 0 && m43() == 0 && m44() == 1); (from WebKit source code) [1] http://lists.w3.org/Archives/Public/www-style/2009Dec/0233.html
I think your suggestions here are good.
I added all proposed changes with my last commit on 2012/02/12.