[css-transforms] Object Bounding Box units and transformations on gradients, patterns, and masks

In the CSS transforms module, the section "User Coordinate space" has the
following statement:

In particular the patternUnits
> <http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#PatternElementPatternUnitsAttribute>
> , gradientUnits
> <http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#LinearGradientElementGradientUnitsAttribute>
>  and maskUnits
> <http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#MaskElementMaskUnitsAttribute> attributes
> don’t affect the user coordinate system used for transformations [SVG11]
> <http://dev.w3.org/csswg/css-transforms-1/#biblio-svg11>.


Links:

   - last published working draft
   http://www.w3.org/TR/2013/WD-css-transforms-1-20131126/#svg-user-coordinate-space
   - current editor's draft
   http://dev.w3.org/csswg/css-transforms-1/#svg-user-coordinate-space

Although the draft spec references SVG 1.1, this would be a *breaking
change* from current SVG behavior.  The SVG definition used for
gradientTransform and patternTransform is as follows:

 This additional transformation matrix is post-multiplied to (i.e.,
> inserted to the right of) any previously defined transformations, including
> the implicit transformation necessary to convert from object bounding box
> units <http://www.w3.org/TR/SVG11/coords.html#ObjectBoundingBox> to user
> space.


Links:

   -
   http://www.w3.org/TR/SVG11/pservers.html#LinearGradientElementGradientTransformAttribute
   -
   http://www.w3.org/TR/SVG11/pservers.html#PatternElementPatternTransformAttribute

Unless there is an overwhelming reason to change this, I would recommend
that the CSS transforms text be updated to state the transformation applies
in the user coordinate system in effect for the element's contents,*
including* any implicit transformations created by patternUnits,
gradientUnits, or maskUnits.


AmeliaBR

Received on Monday, 30 March 2015 21:14:19 UTC