W3C home > Mailing lists > Public > www-style@w3.org > January 2011

Re: [css3-transform] definition of skewing

From: Chris Marrin <cmarrin@apple.com>
Date: Fri, 21 Jan 2011 11:31:42 -0800
Cc: Rik Cabanier <cabanier@adobe.com>, Simon Fraser <smfr@me.com>, "www-style@w3.org" <www-style@w3.org>
Message-id: <1C84159F-1154-4C8A-A3EE-F2CBC728F5EC@apple.com>
To: Dan Clark <dclark@adobe.com>

On Jan 18, 2011, at 5:46 PM, Dan Clark wrote:

> 
> So we're saying that
> 
> SkewX(60deg) * SkewY(20deg) != SkewY(20deg) * SkewX(60deg) != SkewXY(60deg,
> 20deg)
> 
> So I cant get the equivalent of Skew(x,y) using a combo of Skew(x) and
> Skew(y).
> So why do we want to disallow it?

To be honest, the biggest reason is because SVGMatrix doesn't have it and we don't want to go any further down this path. You've shown the simple math for getting a skew effect in a 2D matrix. I've seen a different parameterization which uses a "scaleOrientation" which is the angle about which the scale is applied. It effectively rotates the object by that amount, applies scale and then rotates it back. You get the same skewing effect, but for some purposes it gives you better control.

To be honest, I wish SVG didn't have skew at all. It's just one narrow use case, that can be done (like all the other specialized use cases) in JavaScript using the matrix() operator.

-----
~Chris
cmarrin@apple.com
Received on Friday, 21 January 2011 19:32:37 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:36 GMT