Re: [css3-2d-transforms] Interop: matrix() values e,f <number> or <length>

On Wed, Nov 17, 2010 at 3:36 PM, L. David Baron <dbaron@dbaron.org> wrote:
> On Wednesday 2010-11-17 22:31 +0000, Sylvain Galineau wrote:
>> The current CSS3 2D Transforms spec [1] defines the matrix function as taking six
>> values of type <number>.
>>
>> Firefox 4 Beta 7, however, seems to require e and f to be of type <length>. As
>> these map to the x and y of the translate*() functions, I can understand the
>> connection. This is, however, the only implementation to do this today.
>>
>> I was curious to know whether this was by design.
>
> It was.  I proposed changing the spec here:
> http://lists.w3.org/Archives/Public/www-style/2009Oct/0360.html
> and got no response.
>

That of course makes sense for the translate function, but I find it
confusing in the matrix function. Thinking of 2d translations as
shears in 3d space (or P2), the units are already implicit in the
space, making the units on e and f into just additional multipliers.

I know not everyone thinks of affine transforms in this way, but, as
David pointed out in his original proposal, this view is more
harmonious with the full projective transform for 3d. If someone is
using the matrix function at all, they're probably ok with that
viewpoint.

Received on Thursday, 18 November 2010 01:03:50 UTC