3939
4040 < h1 > CSS Transforms</ h1 >
4141
42- < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 20 July 2012</ h2 >
42+ < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 27 July 2012</ h2 >
4343
4444 < dl >
4545 < dt > This version:
4646
4747 < dd > < a
48- href ="http://www.w3.org/TR/2012/ED-css3-transforms-20120720 / "> http://dev.w3.org/csswg/css3-transforms/</ a >
49- <!--http://www.w3.org/TR/2012/WD-css3-transforms-20120720 /-->
48+ href ="http://www.w3.org/TR/2012/ED-css3-transforms-20120727 / "> http://dev.w3.org/csswg/css3-transforms/</ a >
49+ <!--http://www.w3.org/TR/2012/WD-css3-transforms-20120727 /-->
5050
5151 < dt > Latest version:
5252
@@ -1987,8 +1987,8 @@ <h3 id=svg-transform-functions><span class=secno>13.4. </span> SVG
19871987 that amount (using the current transformation matrix) for the duration of
19881988 the rotate operation. For example ‘< code class =css > rotate(90deg, 100px,
19891989 100px)</ code > ’ would cause elements to appear rotated one-quarter of a
1990- turn in the clockwise direction after a translation of 100 pixel in the
1991- vertical and horizontal direction .
1990+ turn in the clockwise direction after a translation of the
1991+ transform-origin of 100 pixel in the horizontal and vertical directions .
19921992 </ dl >
19931993
19941994 < p > User agents are just required to support the two optional arguments for
@@ -2691,7 +2691,7 @@ <h2 id=transform-primitives><span class=secno>18. </span> Transform
26912691 two-dimensional and three-dimensional transform functions are listed
26922692 below.
26932693
2694- < p > Two-dimensional primitives and derived transform functions are:
2694+ < p > Two-dimensional primitives with derived transform functions are:
26952695
26962696 < dl >
26972697 < dt id =translate-primitive > < code
@@ -2709,28 +2709,15 @@ <h2 id=transform-primitives><span class=secno>18. </span> Transform
27092709 href ="#svg-transform-functions "> rotate with three arguments</ a > is
27102710 supported.
27112711
2712- < dt id =translate-primitive > < code class =css > rotate(<angle>)</ code >
2713-
2714- < dd > if < a href ="#svg-transform-functions "> rotate with three arguments</ a >
2715- is not supported.
2716-
27172712 < dt id =scale-primitive > < code class =css > scale(<number>,
27182713 <number>)</ code >
27192714
27202715 < dd > for < code class =css > scaleX(<number>)</ code > , < code
27212716 class =css > scaleY(<number>)</ code > and < code
27222717 class =css > scale(<number>)</ code > .
2723-
2724- < dt id =skewX-primitive > < code class =css > skewX(<angle>)</ code >
2725-
2726- < dd >
2727-
2728- < dt id =skewY-primitive > < code class =css > skewY(<angle>)</ code >
2729-
2730- < dd >
27312718 </ dl >
27322719
2733- < p > Three-dimensional primitives and derived transform functions are:
2720+ < p > Three-dimensional primitives with derived transform functions are:
27342721
27352722 < dl >
27362723 < dt id =translate3d-primitive > < code
@@ -2749,44 +2736,23 @@ <h2 id=transform-primitives><span class=secno>18. </span> Transform
27492736 < dd > for < code class =css > scaleX(<number>)</ code > , < code
27502737 class =css > scaleY(<number>)</ code > , < code
27512738 class =css > scaleZ(<number>)</ code > and < code
2752- class =css > scale(<number>[, <number>])</ code > .</ dd >
2753- <!-- The following possible primitives would need a decomposing according to
2754- the current text in "Transitions and Animations between Transform Values".
2755- Therefore I would not define them as primitives. -->
2756- <!--
2757- <dt id="rotate3d-primitive">
2758- <code class="css">rotate3d(<number>, <number>, <angle>)</code>
2759- </dt>
2760- <dd>
2761- for <code class="css">rotate(<angle>)</code> (excluding rotate with three
2762- arguments), <code class="css">rotateX(<angle>)</code>, <code
2763- class="css">rotateY(<angle>)</code> and <code
2764- class="css">rotateZ(<angle>)</code>.
2765- </dd>
2766- <dt id="matrix3d-primitive">
2767- <code class="css">matrix3d(<number>, <number>, <number>,
2768- <number>, <number>, <number>, <number>, <number>,
2769- <number>, <number>, <number>, <number>, <number>,
2770- <number>, <number>, <number>)</code>
2771- </dt>
2772- <dd>
2773- for <code class="css">matrix(<number>, <number>, <number>,
2774- <number>, <number>, <number>).
2775- </dd>
2776- <dt id="perspective-primitive">
2777- <code class="css">perspective(<length>)</code>
2778- </dt>
2779- <dd>
2780- </dd>
2781- -->
2739+ class =css > scale(<number>[, <number>])</ code > .
27822740 </ dl >
27832741
2784- < p id =primitive-on-its-own > Every primitive listed above is a derivative on
2785- its own. E.g < code class =css > translate(<translation-value>,
2786- <translation-value>)</ code > can be interpolated with every other
2787- transform function that has < code
2742+ < p id =primitive-on-its-own > Every transform function is a derivative on its
2743+ own. E.g < code class =css > translate(<translation-value>,
2744+ <translation-value>)</ code > of one transform list and < code
27882745 class =css > translate(<translation-value>,
2789- <translation-value>)</ code > as primitive.
2746+ <translation-value>)</ code > of another transform list can be
2747+ interpolated with ‘< code class =css > translate</ code > ’ as primitive.
2748+
2749+ < p > The following transform functions are primitives without further
2750+ derivates: ‘< code class =css > skewX</ code > ’, ‘< code
2751+ class =css > skewY</ code > ’, ‘< code class =css > matrix</ code > ’, ‘< code
2752+ class =css > rotateX</ code > ’, ‘< code class =css > rotateY</ code > ’,
2753+ ‘< code class =css > rotateZ</ code > ’, ‘< code
2754+ class =css > rotate3d</ code > ’, ‘< code class =css > matrix3d</ code > ’ and
2755+ ‘< a href ="#perspective "> < code class =css > perspective</ code > </ a > ’.
27902756
27912757 < p id =interpolation-two-three-dimensional-function > For derived transform
27922758 functions that have a two-dimensional primitive and a three-dimensional
@@ -2804,10 +2770,13 @@ <h2 id=transform-primitives><span class=secno>18. </span> Transform
28042770 < h2 id =interpolation-of-transform-functions > < span class =secno > 19. </ span >
28052771 Interpolation of primitives and derived transform functions</ h2 >
28062772
2807- < p > Two transform functions of the same type and the same number of
2808- arguments are interpolated numerically without a former conversion. The
2809- calculated value will be of the same transform function type with the same
2810- number of arguments.
2773+ < p > With the exception of ‘< code class =css > matrix</ code > ’, ‘< code
2774+ class =css > rotate3d</ code > ’, ‘< code class =css > matrix3d</ code > ’ and
2775+ ‘< a href ="#perspective "> < code class =css > perspective</ code > </ a > ’, two
2776+ transform functions of the same type and the same number of arguments are
2777+ interpolated numerically without a former conversion. The calculated value
2778+ will be of the same transform function type with the same number of
2779+ arguments.
28112780
28122781 < div class =example >
28132782 < p > The two transform functions ‘< code class =css > translate(0)</ code > ’
@@ -2879,6 +2848,12 @@ <h2 id=interpolation-of-transform-functions><span class=secno>19. </span>
28792848 100px)</ code > </ code > ’ respectively. Then both converted transform
28802849 functions get interpolated numerically.</ p >
28812850 </ div >
2851+
2852+ < p > The transform functions ‘< code class =css > matrix</ code > ’, ‘< code
2853+ class =css > rotate3d</ code > ’, ‘< code class =css > matrix3d</ code > ’ and
2854+ ‘< a href ="#perspective "> < code class =css > perspective</ code > </ a > ’ get
2855+ converted into 4x4 matrices first and interpolated as defined in section
2856+ < a href =""> Interpolation of Matrices</ a > afterwards.</ p >
28822857 <!-- ======================================================================================================= -->
28832858
28842859 < h2 id =matrix-interpolation > < span class =secno > 20. </ span > Interpolation of
0 commit comments