Skip to content

Commit 9d4075d

Browse files
committed
add simple description of elementFromPoint without defining hit testing...
1 parent 349a10b commit 9d4075d

2 files changed

Lines changed: 65 additions & 23 deletions

File tree

cssom/Overview.html

Lines changed: 45 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
<div class=head>
3636
<h1 id=cssom>Cascading Style Sheets Object Model (<abbr>CSSOM</abbr>)</h1>
3737

38-
<h2 class="no-num no-toc" id="">Editor's draft <!--W3C Working Draft--> 11
39-
May 2007</h2>
38+
<h2 class="no-num no-toc" id="">Editor's draft <!--W3C Working Draft--> 5
39+
June 2007</h2>
4040

4141
<dl>
4242
<dt>This version:</dt>
4343
<!--
44-
<dd><a href="http://www.w3.org/TR/2007/WD-cssom-20070511/">http://www.w3.org/TR/2007/WD-cssom-20070511/</a></dd>
44+
<dd><a href="http://www.w3.org/TR/2007/WD-cssom-20070605/">http://www.w3.org/TR/2007/WD-cssom-20070605/</a></dd>
4545
-->
4646

4747
<dd>...
@@ -259,37 +259,40 @@ <h2 class="no-num no-toc" id=toc>Table of Contents</h2>
259259
<code>Screen</code> Interface</a>
260260
</ul>
261261

262-
<li><a href="#the-elementlayout"><span class=secno>4.2. </span>The
262+
<li><a href="#the-documentlayout"><span class=secno>4.2. </span>The
263+
<code>DocumentLayout</code> Interface</a>
264+
265+
<li><a href="#the-elementlayout"><span class=secno>4.3. </span>The
263266
<code>ElementLayout</code> Interface</a>
264267
<ul class=toc>
265-
<li><a href="#the-getclientrects"><span class=secno>4.2.1. </span>The
268+
<li><a href="#the-getclientrects"><span class=secno>4.3.1. </span>The
266269
<code>getClientRects()</code> and <code>getBoundingClientRect</code>
267270
methods</a>
268271
<ul class=toc>
269-
<li><a href="#the-textrectanglelist"><span class=secno>4.2.1.1.
272+
<li><a href="#the-textrectanglelist"><span class=secno>4.3.1.1.
270273
</span>The <code>TextRectangleList</code> Interface</a>
271274

272-
<li><a href="#the-textrectangle"><span class=secno>4.2.1.2.
275+
<li><a href="#the-textrectangle"><span class=secno>4.3.1.2.
273276
</span>The <code>TextRectangle</code> Interface</a>
274277
</ul>
275278

276-
<li><a href="#the-offset"><span class=secno>4.2.2. </span>The
279+
<li><a href="#the-offset"><span class=secno>4.3.2. </span>The
277280
<code>offset<var>*</var></code> attributes</a>
278281
<ul class=toc>
279-
<li><a href="#determining"><span class=secno>4.2.2.1.
282+
<li><a href="#determining"><span class=secno>4.3.2.1.
280283
</span>Determining <code>offsetParent</code></a>
281284

282-
<li><a href="#offsettop"><span class=secno>4.2.2.2.
285+
<li><a href="#offsettop"><span class=secno>4.3.2.2.
283286
</span><code>offsetTop</code> and <code>offsetLeft</code></a>
284287

285-
<li><a href="#offsetwidth"><span class=secno>4.2.2.3.
288+
<li><a href="#offsetwidth"><span class=secno>4.3.2.3.
286289
</span><code>offsetWidth</code> and <code>offsetHeight</code></a>
287290
</ul>
288291

289-
<li><a href="#the-scroll"><span class=secno>4.2.3. </span>The
292+
<li><a href="#the-scroll"><span class=secno>4.3.3. </span>The
290293
<code>scroll<var>*</var></code> attributes</a>
291294

292-
<li><a href="#the-client"><span class=secno>4.2.4. </span>The
295+
<li><a href="#the-client"><span class=secno>4.3.4. </span>The
293296
<code>client<var>*</var></code> attributes</a>
294297
</ul>
295298
</ul>
@@ -2304,7 +2307,26 @@ <h4 id=the-screen><span class=secno>4.1.1. </span>The <code><a
23042307
have a notion of an output device the above attributes <em
23052308
class=ct>must</em> be <code>0</code>. [DOM2View]
23062309

2307-
<h3 id=the-elementlayout><span class=secno>4.2. </span>The <code><a
2310+
<h3 id=the-documentlayout><span class=secno>4.2. </span>The <code><a
2311+
href="#documentlayout">DocumentLayout</a></code> Interface</h3>
2312+
2313+
<p>Objects implementing the <code>Document</code> interface <em
2314+
class=ct>must</em> also implement the <code><a
2315+
href="#documentlayout">DocumentLayout</a></code> interface. [DOM3Core]
2316+
2317+
<pre class=idl>interface <dfn id=documentlayout>DocumentLayout</dfn> {
2318+
Element <a href="#documentlayout-elementfrompoint" title=documentlayout-elementfrompoint>elementFromPoint</a>(in unsigned long <var title="">x</var>, in unsigned long <var title="">y</var>);
2319+
}</pre>
2320+
2321+
<p>The <dfn id=documentlayout-elementfrompoint
2322+
title=documentlayout-elementfrompoint>elementFromPoint(<var
2323+
title="">x</var>, <var title="">y</var>)</dfn> method <em
2324+
class=ct>must</em> return the element for the given position. The element
2325+
to be returned is determined through <span class=issue>hit testing</span>.
2326+
If either argument is negative or if there is no element under the given
2327+
position the method <em class=ct>must</em> return <code>null</code>.
2328+
2329+
<h3 id=the-elementlayout><span class=secno>4.3. </span>The <code><a
23082330
href="#elementlayout">ElementLayout</a></code> Interface</h3>
23092331

23102332
<p>Objects implementing the <code>Element</code> interface <em
@@ -2332,7 +2354,7 @@ <h3 id=the-elementlayout><span class=secno>4.2. </span>The <code><a
23322354
readonly attribute float <a href="#elementlayout-clientheight">clientHeight</a>;
23332355
};</pre>
23342356

2335-
<h4 id=the-getclientrects><span class=secno>4.2.1. </span>The <code><a
2357+
<h4 id=the-getclientrects><span class=secno>4.3.1. </span>The <code><a
23362358
href="#elementlayout-getclientrects">getClientRects()</a></code> and
23372359
<code><a
23382360
href="#elementlayout-getboundingclientrect">getBoundingClientRect</a></code>
@@ -2389,7 +2411,7 @@ <h4 id=the-getclientrects><span class=secno>4.2.1. </span>The <code><a
23892411
element.
23902412
-->
23912413

2392-
<h5 id=the-textrectanglelist><span class=secno>4.2.1.1. </span>The <code><a
2414+
<h5 id=the-textrectanglelist><span class=secno>4.3.1.1. </span>The <code><a
23932415
href="#textrectanglelist">TextRectangleList</a></code> Interface</h5>
23942416

23952417
<p>The <code><a href="#textrectanglelist">TextRectangleList</a></code>
@@ -2423,7 +2445,7 @@ <h5 id=the-textrectanglelist><span class=secno>4.2.1.1. </span>The <code><a
24232445
title="">index</var> <em class=ct>must</em> be returned.
24242446
</dl>
24252447

2426-
<h5 id=the-textrectangle><span class=secno>4.2.1.2. </span>The <code><a
2448+
<h5 id=the-textrectangle><span class=secno>4.3.1.2. </span>The <code><a
24272449
href="#textrectangle">TextRectangle</a></code> Interface</h5>
24282450

24292451
<pre class=idl>interface <dfn id=textrectangle>TextRectangle</dfn> {
@@ -2457,10 +2479,10 @@ <h5 id=the-textrectangle><span class=secno>4.2.1.2. </span>The <code><a
24572479
<dd>...
24582480
</dl>
24592481

2460-
<h4 id=the-offset><span class=secno>4.2.2. </span>The
2482+
<h4 id=the-offset><span class=secno>4.3.2. </span>The
24612483
<code>offset<var>*</var></code> attributes</h4>
24622484

2463-
<h5 id=determining><span class=secno>4.2.2.1. </span>Determining <code><a
2485+
<h5 id=determining><span class=secno>4.3.2.1. </span>Determining <code><a
24642486
href="#elementlayout-offsetparent">offsetParent</a></code></h5>
24652487

24662488
<p>The <dfn id=elementlayout-offsetparent><code>offsetParent</code></dfn>
@@ -2497,7 +2519,7 @@ <h5 id=determining><span class=secno>4.2.2.1. </span>Determining <code><a
24972519
href="#elementlayout-offsetparent">offsetParent</a></code> <em
24982520
class=ct>must</em> be <code>null</code>.
24992521

2500-
<h5 id=offsettop><span class=secno>4.2.2.2. </span><code><a
2522+
<h5 id=offsettop><span class=secno>4.3.2.2. </span><code><a
25012523
href="#elementlayout-offsettop">offsetTop</a></code> and <code><a
25022524
href="#elementlayout-offsetleft">offsetLeft</a></code></h5>
25032525
<!--XXX add something about the assumption that nothing is scrolled here?-->
@@ -2543,7 +2565,7 @@ <h5 id=offsettop><span class=secno>4.2.2.2. </span><code><a
25432565
offsetLeft is the minimum of all x values and offsetTop is the minimum of all y values.
25442566
-->
25452567

2546-
<h5 id=offsetwidth><span class=secno>4.2.2.3. </span><code><a
2568+
<h5 id=offsetwidth><span class=secno>4.3.2.3. </span><code><a
25472569
href="#elementlayout-offsetwidth">offsetWidth</a></code> and <code><a
25482570
href="#elementlayout-offsetheight">offsetHeight</a></code></h5>
25492571

@@ -2559,15 +2581,15 @@ <h5 id=offsetwidth><span class=secno>4.2.2.3. </span><code><a
25592581
height and width here and in standards mode that would be "the html
25602582
element" or root element.
25612583

2562-
<h4 id=the-scroll><span class=secno>4.2.3. </span>The
2584+
<h4 id=the-scroll><span class=secno>4.3.3. </span>The
25632585
<code>scroll<var>*</var></code> attributes</h4>
25642586

25652587
<p class=issue>It seems scrollWidth and scrollHeight are defined by the
25662588
boxes they contain plus any the surrounding padding area. How about
25672589
principle box width/height + padding edge width. For inline boxes they are
25682590
identical to offsetWidth/offsetHeight it seems.
25692591

2570-
<h4 id=the-client><span class=secno>4.2.4. </span>The
2592+
<h4 id=the-client><span class=secno>4.3.4. </span>The
25712593
<code>client<var>*</var></code> attributes</h4>
25722594

25732595
<p>The <dfn id=elementlayout-clienttop><code>clientTop</code></dfn>

cssom/Overview.src.html

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1894,6 +1894,26 @@ <h4>The <code>Screen</code> Interface</h4>
18941894
have a notion of an output device the above attributes
18951895
<em class="ct">must</em> be <code>0</code>. [DOM2View]</p>
18961896

1897+
1898+
<h3>The <code>DocumentLayout</code> Interface</h3>
1899+
1900+
<p>Objects implementing the <code>Document</code> interface
1901+
<em class="ct">must</em> also implement the <code>DocumentLayout</code>
1902+
interface. [DOM3Core]</p>
1903+
1904+
<pre class="idl">interface <dfn>DocumentLayout</dfn> {
1905+
Element <span title="documentlayout-elementfrompoint">elementFromPoint</span>(in unsigned long <var title="">x</var>, in unsigned long <var title="">y</var>);
1906+
}</pre>
1907+
1908+
<p>The
1909+
<dfn id="documentlayout-elementfrompoint" title="documentlayout-elementfrompoint">elementFromPoint(<var title="">x</var>, <var title="">y</var>)</dfn>
1910+
method <em class="ct">must</em> return the element for the given position. The
1911+
element to be returned is determined through <span class="issue">hit
1912+
testing</span>. If either argument is negative or if there is no element under
1913+
the given position the method <em class="ct">must</em> return
1914+
<code>null</code>.</p>
1915+
1916+
18971917
<h3>The <code>ElementLayout</code> Interface</h3>
18981918

18991919
<p>Objects implementing the <code>Element</code> interface

0 commit comments

Comments
 (0)