Boris Zbarsky wrote:
On 7/19/10 4:13 PM, David Flanagan wrote:
The spec describes the transform() method as follows:
The transform(m11, m12, m21, m22, dx, dy) method must multiply the
current transformation matrix with the matrix described by:
m11 m21 dx
m12 m22 dy
0 0 1
The first number in these argument names is the column number and the
second is the row number.
I agree that this is somewhat weird at first glance, but it seems to be
not uncommon for graphics libraries. For example, for cairo the call
cairo_matrix_init(m, a, b, c, d, e, f);
creates a matrix which represents the affine transformation [1]:
x_new = a*x + c*y + e;
y_new = b*x + d*y + f;
Thanks for checking this; it is nice to know that there is precedent for
the argument order. Changing the argument names to remove the numbers
from them would make the spec less confusing. Or at least changing the
argument names so that they use (standard?) row,column indexing instead
of column,row indexing.
David