- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 05 Mar 2012 23:04:40 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/2dcontext
In directory hutz:/tmp/cvs-serv28171
Modified Files:
Overview.html
Log Message:
Extract the transformation matrix API from canvas so we can reuse it with Path and Pattern objects. (whatwg r7015)
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/2dcontext/Overview.html,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -d -r1.121 -r1.122
--- Overview.html 29 Feb 2012 23:39:30 -0000 1.121
+++ Overview.html 5 Mar 2012 23:04:38 -0000 1.122
@@ -320,7 +320,7 @@
<h1>HTML Canvas 2D Context</h1>
<h2 class="no-num no-toc" id="generatedID"></h2>
- <h2 class="no-num no-toc" id="editor-s-draft-29-february-2012">Editor's Draft 29 February 2012</h2>
+ <h2 class="no-num no-toc" id="editor-s-draft-5-march-2012">Editor's Draft 5 March 2012</h2>
<dl><dt>Latest Published Version:</dt>
<dd><a href="http://www.w3.org/TR/2dcontext/">http://www.w3.org/TR/2dcontext/</a></dd>
<dt>Latest Editor's Draft:</dt>
@@ -456,7 +456,7 @@
Group</a> is the W3C working group responsible for this
specification's progress along the W3C Recommendation
track.
- This specification is the 29 February 2012 Editor's Draft.
+ This specification is the 5 March 2012 Editor's Draft.
</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group
actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working
group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>This specification is an extension to the HTML5 language. All
@@ -512,12 +512,6 @@
void <a href="#dom-context-2d-save" title="dom-context-2d-save">save</a>(); // push state on state stack
void <a href="#dom-context-2d-restore" title="dom-context-2d-restore">restore</a>(); // pop state stack and restore state
- // transformations (default transform is the identity matrix)
- void <a href="#dom-context-2d-scale" title="dom-context-2d-scale">scale</a>(double x, double y);
- void <a href="#dom-context-2d-rotate" title="dom-context-2d-rotate">rotate</a>(double angle);
- void <a href="#dom-context-2d-translate" title="dom-context-2d-translate">translate</a>(double x, double y);
- void <a href="#dom-context-2d-transform" title="dom-context-2d-transform">transform</a>(double a, double b, double c, double d, double e, double f);
- void <a href="#dom-context-2d-settransform" title="dom-context-2d-setTransform">setTransform</a>(double a, double b, double c, double d, double e, double f);
// compositing
attribute double <a href="#dom-context-2d-globalalpha" title="dom-context-2d-globalAlpha">globalAlpha</a>; // (default 1.0)
@@ -585,6 +579,18 @@
void <a href="#dom-context-2d-putimagedata" title="dom-context-2d-putImageData">putImageData</a>(<a href="#imagedata">ImageData</a> imagedata, double dx, double dy);
void <a href="#dom-context-2d-putimagedata" title="dom-context-2d-putImageData">putImageData</a>(<a href="#imagedata">ImageData</a> imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight);
};
+<a href="#canvasrenderingcontext2d">CanvasRenderingContext2D</a> implements <a href="#canvastransformation">CanvasTransformation</a>;
+
+[NoInterfaceObject]
+interface <dfn id="canvastransformation">CanvasTransformation</dfn> {
+ // transformations (default transform is the identity matrix)
+ void <a href="#dom-context-2d-scale" title="dom-context-2d-scale">scale</a>(double x, double y);
+ void <a href="#dom-context-2d-rotate" title="dom-context-2d-rotate">rotate</a>(double angle);
+ void <a href="#dom-context-2d-translate" title="dom-context-2d-translate">translate</a>(double x, double y);
+ void <a href="#dom-context-2d-transform" title="dom-context-2d-transform">transform</a>(double a, double b, double c, double d, double e, double f);
+ void <a href="#dom-context-2d-settransform" title="dom-context-2d-setTransform">setTransform</a>(double a, double b, double c, double d, double e, double f);
+
+};
interface <dfn id="canvasgradient">CanvasGradient</dfn> {
// opaque object
@@ -618,8 +624,8 @@
context paints on.</p>
<p>Except where otherwise specified, for the 2D context interface,
- any method call with a numeric argument whose value is infinite or a
- NaN value must be ignored.</p>
+ <strong>any method call with a numeric argument whose value is
+ infinite or a NaN value must be ignored</strong>.</p>
@@ -687,16 +693,19 @@
</div><h2 id="transformations"><span class="secno">3 </span><dfn title="dom-context-2d-transformation">Transformations</dfn></h2><p>The transformation matrix is applied to coordinates when creating
shapes and paths.</p><div class="impl">
- <p>When the context is created, the transformation matrix must
- initially be the identity transform. It may then be adjusted using
- the transformation methods.</p>
+ <p>Any object that implements the <code><a href="#canvastransformation">CanvasTransformation</a></code>
+ interface has a <i>current transformation matrix</i>. When such an
+ object is created, its transformation matrix must be initialized to
+ the identity transform. It may then be adjusted using the
+ transformation methods described in this section.</p>
- <p>The transformations must be performed in reverse order. For
- instance, if a scale transformation that doubles the width is
- applied, followed by a rotation transformation that rotates drawing
- operations by a quarter turn, and a rectangle twice as wide as it is
- tall is then drawn on the canvas, the actual result will be a
- square.</p>
+ <p>The transformations must be performed in reverse order.</p>
+
+ <p class="note">For instance, if a scale transformation that doubles
+ the width is applied to the canvas, followed by a rotation
+ transformation that rotates drawing operations by a quarter turn,
+ and a rectangle twice as wide as it is tall is then drawn on the
+ canvas, the actual result will be a square.</p>
</div><dl class="domintro"><dt><var title="">context</var> . <code title="dom-context-2d-scale"><a href="#dom-context-2d-scale">scale</a></code>(<var title="">x</var>, <var title="">y</var>)</dt>
Received on Monday, 5 March 2012 23:04:43 UTC