- From: Simon Fraser via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 09 Dec 2010 19:26:05 +0000
- To: public-fx-editors@w3.org
Update of /sources/public/Graphics-FX/modules/2D-transforms/spec
In directory hutz:/tmp/cvs-serv27865
Modified Files:
2DTransforms.html
Added Files:
ChangeLog
Log Message:
2010-12-09 Simon Fraser simon.fraser@apple.com
Add rough drafts for interface for Point, and supplemental interface on Element for point conversion.
Index: 2DTransforms.html
===================================================================
RCS file: /sources/public/Graphics-FX/modules/2D-transforms/spec/2DTransforms.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- 2DTransforms.html 14 Oct 2010 05:46:02 -0000 1.4
+++ 2DTransforms.html 9 Dec 2010 19:26:03 -0000 1.5
@@ -932,15 +932,93 @@
<div id="sec-DOMInterfaces">
<h2 id="DOMInterfaces">DOM interfaces</h2>
- <div class="note">
- The interfaces below will be made available in a IDL file for an upcoming draft.
- </div>
-
- <p>The following interfaces are defined below: <a href="#RandomInterface">RandomInterface</a>.</p>
+ <p>The following interfaces are defined below: <a href="#PointInterface">Point</a>.</p>
<br></br>
- <h3 id="RandomInterface">Interface <span class="DOMInterfaceName">RandomInterface</span></h3>
+ <p class="note">
+ These should probably move into the <a href="http://www.w3.org/TR/cssom-view/">CSSOM View Module</a> eventually.
+ </p>
+
+ <p class="note">
+ Include a class that similar to CSSMatrix/SVGTransform here.
+ </p>
+
+ <h3 id="PointInterface">Interface <span class="DOMInterfaceName">Point</span></h3>
+ <p>The <span class="DOMInterfaceName">Point</span> interface contains X and Y coordinates
+ for a point on a 2D plane.</p>
+ <p class="specissue">
+ "Point" needs a prefix to avoid conflicting with lots of existing JavaScript. How does this relate to SVGPoint?
+ What's a good name: WebPoint? ClientPoint (even though it's not always in client coordinates)? CSSPoint? We should probably say something about units
+ here too, and maybe even add a section on coordinate spaces in CSS and SVG.
+ </p>
+ <dl>
+ <dt><br></br>
+ <b>IDL Definition</b></dt>
+ <dd>
+ <div class="idl-code">
+ <pre>interface Point {
+ readonly attribute long x;
+ readonly attribute long y;
+ };</pre>
+ </div>
+ <br></br>
+ </dd>
+ <dt><b>Attributes</b></dt>
+ <dd><dl>
+ <dt><span class="dom-readonly">readonly</span> <span class="dom-attr-type">long</span> <span class="dom-attr-name">x</span></dt>
+ <dd>The X coordinate of the point.</dd>
+ <dt><span class="dom-readonly">readonly</span> <span class="dom-attr-type">long</span> <span class="dom-attr-name">y</span></dt>
+ <dd>The Y coordinate of the point.</dd>
+ </dl>
+ </dd>
+ </dl>
+
+ <h3 id="TransformableElement">Extensions to the <span class="DOMInterfaceName">Element</span> Interface</h3>
+
+ <p>These extensions so the <span class="DOMInterfaceName">Element</span> interface
+ are implemented by all SVG and HTML elements, and provide the author a way to convert
+ points between the coordinate spaces of different elements, taking transforms into account.</p>
+ <p>
+ In CSS, the local coordinate system of an element is defined in CSS pixels, with the origin at the top, left
+ corner of the border box, with positive values down and to the right.
+ </p>
+ <p class="specissue">
+ What is the best behavior for inline elements, that may be split over multiple lines?
+ </p>
+ <p>
+ In CSS, the client coordinate system is defined by the CSS viewport. [Need Terminology section.]
+ <!-- The terms viewport, initial containing block are defined by CSS 2.1 unless there's an ancestor foreignObject element in the http://www.w3.org/2000/svg namespace in which case that element acts as viewport and initial containing block. [CSS21] [SVG] -->
+ </p>
+ <p>
+ In SVG, the local coordinate system is defined by ... [WRITE ME].
+ </p>
+ <p>
+ In SVG, the client coordinate system is defined by ... [WRITE ME].
+ </p>
+ <dl>
+ <dt><br></br>
+ <b>IDL Definition</b></dt>
+ <dd>
+ <div class="idl-code">
+ <pre>[Supplemental] interface Element : Element {
+ Point clientToElement(Point p);
+ Point elementToClient(Point p);
+ };</pre>
+ </div>
+ <br></br>
+ </dd>
+ <dt><b>Methods</b></dt>
+ <dd><dl>
+ <dt><span class="dom-parameter-type">Point</span> <span class="dom-method-name">clientToLocalPoint</span>(<span class="dom-parameter-type">Point</span> <span class="dom-parameter-name">point</span>)</dt>
+ <dd>Convert the given point from Client coordinates into the local coordinate space of the element.</dd>
+ <dt><span class="dom-parameter-type">Point</span> <span class="dom-method-name">localToClientPoint</span>(<span class="dom-parameter-type">Point</span> <span class="dom-parameter-name">point</span>)</dt>
+ <dd>Convert the given point from the local coordinate space of this element into Client coordinates.</dd>
+ </dl>
+ </dd>
+ </dl>
+
+ <h3 id="RandomInterface">Interface <span class="DOMInterfaceName">RandomInterface</span></h3>
<p>The <span class="DOMInterfaceName">RandomInterface</span> interface
corresponds to the <span class="element-name">'RandomInterface'</span>
@@ -963,6 +1041,7 @@
</dl>
</dd>
</dl>
+
</div>
--- NEW FILE: ChangeLog ---
2010-12-09 Simon Fraser simon.fraser@apple.com
Add rough drafts for interface for Point, and supplemental interface on Element for point conversion.
Received on Thursday, 9 December 2010 19:26:07 UTC