Incorporate feedback from Robert O'Callahan.
authorDirk Schulze <dschulze@adobe.com>
Thu, 14 Mar 2013 21:41:18 -0700
changeset 7485a64938d0a49
parent 747 6546f6ccd054
child 749 382bb806622e
Incorporate feedback from Robert O'Callahan.
matrix/ChangeLog
matrix/index.html
     1.1 --- a/matrix/ChangeLog	Thu Mar 14 12:51:14 2013 -0700
     1.2 +++ b/matrix/ChangeLog	Thu Mar 14 21:41:18 2013 -0700
     1.3 @@ -1,3 +1,7 @@
     1.4 +2013-03-13  Dirk Schulze  <dschulze@adobe.com>
     1.5 +	Incorporate feedback from Robert O'Callahan.
     1.6 +	http://lists.w3.org/Archives/Public/public-fx/2013JanMar/0128.html
     1.7 +
     1.8  2013-03-11  Dirk Schulze  <dschulze@adobe.com>
     1.9  	Add Conformance section.
    1.10  
     2.1 --- a/matrix/index.html	Thu Mar 14 12:51:14 2013 -0700
     2.2 +++ b/matrix/index.html	Thu Mar 14 21:41:18 2013 -0700
     2.3 @@ -118,6 +118,8 @@
     2.4          </dd>
     2.5        </dl>
     2.6  
     2.7 +      <p class='issue'>Define initial values.</p>
     2.8 +
     2.9        <p class='issue'>
    2.10          It is doubtful that this can be very useful for authors. On the other hand, it allows scripted animations similar to the animations by CSS3 Transforms.
    2.11        </p>
    2.12 @@ -160,6 +162,7 @@
    2.13              </div>
    2.14              <p class='issue'>Should it be postponed to avoid CSS3 Transforms dependency?</p>
    2.15              <p class='issue'>Should unit-less values (like for SVG transform presentation attribute) be allowed too? <code>"translate(20,20)"</code></p>
    2.16 +            <p>Throws a <var>DOMException</var> with name <code>SyntaxError</code> if the <code>DOMString</code> parameter does not validate to a transform list [[!CSS3-TRANSFORMS]].
    2.17            </dd>
    2.18            <dt>Constructor()</dt>
    2.19            <dd>
    2.20 @@ -185,6 +188,7 @@
    2.21                  Create an identity matrix first. An Float32array [[!TYPED-ARRAYS]] of 6 items sets the element values <code>a</code> to <code>f</code>. An array of 16 items sets the element values <code>m11</code> to <code>m44</code>.
    2.22                </dd>
    2.23              </dl>
    2.24 +            <p>Throws a <var>DOMException</var> with name <code>SyntaxError</code> if the <code>Float32array</code> parameter does not consist of 6 or 16 items.
    2.25            </dd>
    2.26            <dt>Constructor()</dt>
    2.27            <dd>
    2.28 @@ -194,6 +198,7 @@
    2.29                  Create an identity matrix first. An Float64array [[!TYPED-ARRAYS]] of 6 items sets the element values <code>a</code> to <code>f</code>. An array of 16 items sets the element values <code>m11</code> to <code>m44</code>.
    2.30                </dd>
    2.31              </dl>
    2.32 +            <p>Throws a <var>DOMException</var> with name <code>SyntaxError</code> if the <code>Float64array</code> parameter does not consist of 6 or 16 items.
    2.33            </dd>
    2.34            <dt>Constructor()</dt>
    2.35            <dd>
    2.36 @@ -203,6 +208,7 @@
    2.37                  Create an identity matrix first. A sequence of 6 items sets the element values <code>a</code> to <code>f</code>. A sequence of 16 items sets the element values <code>m11</code> to <code>m44</code>. 
    2.38                </dd>
    2.39              </dl>
    2.40 +            <p>Throws a <var>DOMException</var> with name <code>SyntaxError</code> if the number sequence parameter does not consist of 6 or 16 items.
    2.41            </dd>
    2.42          </section>
    2.43  
    2.44 @@ -210,7 +216,7 @@
    2.45            <h3>Two-dimensional attributes</h3>
    2.46  
    2.47            <p>
    2.48 -            If a <a>Matrix</a> just consists of 2D transformations the 6 values <code>a</code> to <code>f</code> can represent the transformation matrix. If the <a>Matrix</a> object is immutable, a DOMException of type <code>NoModificationAllowedError</code> must be thrown on setting the attributes.
    2.49 +            If a <a>Matrix</a> just consists of 2D transformations the 6 values <code>a</code> to <code>f</code> can represent the transformation matrix. If the <a>Matrix</a> object is immutable, a <var>DOMException</var> with name <code>NoModificationAllowedError</code> must be thrown on setting the attributes.
    2.50            </p>
    2.51  
    2.52            <p>
    2.53 @@ -251,7 +257,7 @@
    2.54            <h3>Three-dimensional attributes</h3>
    2.55  
    2.56            <p>
    2.57 -            The following attributes <code>m11</code> to <code>m44</code> represent the elements of the 4x4 matrix. The coordinates are in column-major order. If the <a>Matrix</a> object is immutable, a DOMException of type <code>NoModificationAllowedError</code> must be thrown on setting the attributes.
    2.58 +            The following attributes <code>m11</code> to <code>m44</code> represent the elements of the 4x4 matrix. The coordinates are in column-major order. If the <a>Matrix</a> object is immutable, a <var>DOMException</var> with name <code>NoModificationAllowedError</code> must be thrown on setting the attributes.
    2.59            </p>
    2.60  
    2.61            <dl title='partial interface Matrix' class='idl'>
    2.62 @@ -381,10 +387,10 @@
    2.63                <dl class='parameters'>
    2.64                  <dt>double scale</dt>
    2.65                  <dd>Multiplier for a uniform scale transformation.</dd>
    2.66 -                <dt>optional double originX</dt>
    2.67 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
    2.68 -                <dt>optional double originY</dt>
    2.69 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
    2.70 +                <dt>optional double originX = 0</dt>
    2.71 +                <dd>Transformation origin on the x-axis.</dd>
    2.72 +                <dt>optional double originY = 0</dt>
    2.73 +                <dd>Transformation origin on the y-axis.</dd>
    2.74                </dl>
    2.75                Post-multiplies a uniform 2D scale transformation (<code>m11 = m22 = scale</code>) on the current matrix with the given origin and returns the resulting matrix. The current matrix is not modified.
    2.76              </dd>
    2.77 @@ -393,12 +399,12 @@
    2.78                <dl class='parameters'>
    2.79                  <dt>double scale</dt>
    2.80                  <dd>Multiplier for a uniform scale transformation.</dd>
    2.81 -                <dt>optional double originX</dt>
    2.82 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
    2.83 -                <dt>optional double originY</dt>
    2.84 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
    2.85 -                <dt>optional double originZ</dt>
    2.86 -                <dd>Transformation origin on the z-axis. Defaulting to 0.</dd>
    2.87 +                <dt>optional double originX = 0</dt>
    2.88 +                <dd>Transformation origin on the x-axis.</dd>
    2.89 +                <dt>optional double originY = 0</dt>
    2.90 +                <dd>Transformation origin on the y-axis.</dd>
    2.91 +                <dt>optional double originZ = 0</dt>
    2.92 +                <dd>Transformation origin on the z-axis.</dd>
    2.93                </dl>
    2.94                Post-multiplies a uniform scale transformation (<code>m11 = m22 = m33 = scale</code>) on the current matrix with the given origin and returns the resulting matrix. The current matrix is not modified.
    2.95              </dd>
    2.96 @@ -407,16 +413,16 @@
    2.97                <dl class='parameters'>
    2.98                  <dt>double scaleX</dt>
    2.99                  <dd>Multiplier for a non-uniform scale along the x-axis.</dd>
   2.100 -                <dt>optional double scaleY</dt>
   2.101 -                <dd>Multiplier for a non-uniform scale along the y-axis. Defaulting to 1.</dd>
   2.102 -                <dt>optional double scaleZ</dt>
   2.103 -                <dd>Multiplier for a non-uniform scale along the z-axis. Defaulting to 1.</dd>
   2.104 -                <dt>optional double originX</dt>
   2.105 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
   2.106 -                <dt>optional double originY</dt>
   2.107 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
   2.108 -                <dt>optional double originZ</dt>
   2.109 -                <dd>Transformation origin on the z-axis. Defaulting to 0.</dd>
   2.110 +                <dt>optional double scaleY = 1</dt>
   2.111 +                <dd>Multiplier for a non-uniform scale along the y-axis.</dd>
   2.112 +                <dt>optional double scaleZ = 1</dt>
   2.113 +                <dd>Multiplier for a non-uniform scale along the z-axis.</dd>
   2.114 +                <dt>optional double originX = 0</dt>
   2.115 +                <dd>Transformation origin on the x-axis.</dd>
   2.116 +                <dt>optional double originY = 0</dt>
   2.117 +                <dd>Transformation origin on the y-axis.</dd>
   2.118 +                <dt>optional double originZ = 0</dt>
   2.119 +                <dd>Transformation origin on the z-axis.</dd>
   2.120                </dl>
   2.121                Post-multiplies a non-uniform scale transformation on the current matrix with the given origin and returns the resulting matrix. The current matrix is not modified.
   2.122              </dd>
   2.123 @@ -425,10 +431,10 @@
   2.124                <dl class='parameters'>
   2.125                  <dt>double angle</dt>
   2.126                  <dd>Rotation angle in degrees.</dd>
   2.127 -                <dt>optional double originX</dt>
   2.128 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
   2.129 -                <dt>optional double originY</dt>
   2.130 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
   2.131 +                <dt>optional double originX = 0</dt>
   2.132 +                <dd>Transformation origin on the x-axis.</dd>
   2.133 +                <dt>optional double originY = 0</dt>
   2.134 +                <dd>Transformation origin on the y-axis.</dd>
   2.135                </dl>
   2.136                Post-multiplies a rotation transformation on the current matrix with the given origin and returns the resulting matrix. The current matrix is not modified.
   2.137              </dd>
   2.138 @@ -506,7 +512,7 @@
   2.139            <h3>Mutable transformation methods</h3>
   2.140  
   2.141            <p>
   2.142 -            The following methods do modify the current matrix. If the <a>Matrix</a> object is immutable, a DOMException of type <code>NoModificationAllowedError</code> must be thrown on calling the operations below.
   2.143 +            The following methods do modify the current matrix. If the <a>Matrix</a> object is immutable, a <var>DOMException</var> with name <code>NoModificationAllowedError</code> must be thrown on calling the operations below.
   2.144            </p>
   2.145  
   2.146            <dl title='partial interface Matrix' class='idl'>
   2.147 @@ -545,10 +551,10 @@
   2.148                <dl class='parameters'>
   2.149                  <dt>double scale</dt>
   2.150                  <dd>Multiplier for a uniform scale transformation.</dd>
   2.151 -                <dt>optional double originX</dt>
   2.152 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
   2.153 -                <dt>optional double originY</dt>
   2.154 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
   2.155 +                <dt>optional double originX = 0</dt>
   2.156 +                <dd>Transformation origin on the x-axis.</dd>
   2.157 +                <dt>optional double originY = 0</dt>
   2.158 +                <dd>Transformation origin on the y-axis.</dd>
   2.159                </dl>
   2.160                Post-multiplies a uniform 2D scale transformation (<code>m11 = m22 = scale</code>) on the current matrix with the given origin.
   2.161              </dd>
   2.162 @@ -557,12 +563,12 @@
   2.163                <dl class='parameters'>
   2.164                  <dt>double scale</dt>
   2.165                  <dd>Multiplier for a uniform scale transformation.</dd>
   2.166 -                <dt>optional double originX</dt>
   2.167 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
   2.168 -                <dt>optional double originY</dt>
   2.169 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
   2.170 -                <dt>optional double originZ</dt>
   2.171 -                <dd>Transformation origin on the z-axis. Defaulting to 0.</dd>
   2.172 +                <dt>optional double originX = 0</dt>
   2.173 +                <dd>Transformation origin on the x-axis.</dd>
   2.174 +                <dt>optional double originY = 0</dt>
   2.175 +                <dd>Transformation origin on the y-axis.</dd>
   2.176 +                <dt>optional double originZ = 0</dt>
   2.177 +                <dd>Transformation origin on the z-axis.</dd>
   2.178                </dl>
   2.179                Post-multiplies a uniform 2D scale transformation (<code>m11 = m22 = m33 = scale</code>) on the current matrix with the given origin.
   2.180              </dd>
   2.181 @@ -571,16 +577,16 @@
   2.182                <dl class='parameters'>
   2.183                  <dt>double scaleX</dt>
   2.184                  <dd>Multiplier for a non-uniform scale along the x-axis.</dd>
   2.185 -                <dt>optional double scaleY</dt>
   2.186 -                <dd>Multiplier for a non-uniform scale along the y-axis. Defaulting to 1.</dd>
   2.187 -                <dt>optional double scaleZ</dt>
   2.188 -                <dd>Multiplier for a non-uniform scale along the z-axis. Defaulting to 1.</dd>
   2.189 -                <dt>optional double originX</dt>
   2.190 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
   2.191 -                <dt>optional double originY</dt>
   2.192 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
   2.193 -                <dt>optional double originZ</dt>
   2.194 -                <dd>Transformation origin on the z-axis. Defaulting to 0.</dd>
   2.195 +                <dt>optional double scaleY = 1</dt>
   2.196 +                <dd>Multiplier for a non-uniform scale along the y-axis.</dd>
   2.197 +                <dt>optional double scaleZ = 1</dt>
   2.198 +                <dd>Multiplier for a non-uniform scale along the z-axis.</dd>
   2.199 +                <dt>optional double originX = 0</dt>
   2.200 +                <dd>Transformation origin on the x-axis.</dd>
   2.201 +                <dt>optional double originY = 0</dt>
   2.202 +                <dd>Transformation origin on the y-axis.</dd>
   2.203 +                <dt>optional double originZ = 0</dt>
   2.204 +                <dd>Transformation origin on the z-axis.</dd>
   2.205                </dl>
   2.206                Post-multiplies a non-uniform scale transformation on the current matrix with the given origin.
   2.207              </dd>
   2.208 @@ -589,10 +595,10 @@
   2.209                <dl class='parameters'>
   2.210                  <dt>double angle</dt>
   2.211                  <dd>Rotation angle in degrees.</dd>
   2.212 -                <dt>optional double originX</dt>
   2.213 -                <dd>Transformation origin on the x-axis. Defaulting to 0.</dd>
   2.214 -                <dt>optional double originY</dt>
   2.215 -                <dd>Transformation origin on the y-axis. Defaulting to 0.</dd>
   2.216 +                <dt>optional double originX = 0</dt>
   2.217 +                <dd>Transformation origin on the x-axis.</dd>
   2.218 +                <dt>optional double originY = 0</dt>
   2.219 +                <dd>Transformation origin on the y-axis.</dd>
   2.220                </dl>
   2.221                Post-multiplies a rotation transformation on the current matrix with the given origin.
   2.222              </dd>
   2.223 @@ -678,11 +684,11 @@
   2.224              </dd>
   2.225              <dt>Float32Array toFloat32Array()</dt>
   2.226              <dd>
   2.227 -              Returns the serialized elements of the current matrix in column-major order as Float32Array [[!TYPED-ARRAYS]].
   2.228 +              Returns the serialized 16 elements <code>m11</code> to <code>m44</code> of the current matrix in column-major order as Float32Array [[!TYPED-ARRAYS]].
   2.229              </dd>
   2.230              <dt>Float64Array toFloat64Array()</dt>
   2.231              <dd>
   2.232 -              Returns the serialized elements of the current matrix in column-major order as Float64Array [[!TYPED-ARRAYS]].
   2.233 +              Returns the serialized 16 elements <code>m11</code> to <code>m44</code> of the current matrix in column-major order as Float64Array [[!TYPED-ARRAYS]].
   2.234              </dd>
   2.235              <dt>DecomposedMatrix decompose()</dt>
   2.236              <dd>