Skip to content

Commit f7101d4

Browse files
committed
actions: update additional properties section
Create optional properties table Update pointer actions dispatch sections to take the additional properties into account
1 parent 7c12f1b commit f7101d4

File tree

1 file changed

+109
-10
lines changed

1 file changed

+109
-10
lines changed

index.html

Lines changed: 109 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6902,20 +6902,56 @@ <h3 id=input-source-state>State</h3>
69026902
a <code>pressed</code> property which is a set of unsigned integers,
69036903
an <code>x</code> property which is an unsigned integer,
69046904
and a <code>y</code> property which is an unsigned integer.
6905-
Additionally, it also contains optional properties
6906-
<code>width</code>, <code>height</code>, <code>pressure</code>, and
6907-
<code>tangentialPressure</code> which are floating-point numbers, and
6908-
<code>tiltX</code>, <code>tiltY</code>, and <code>twist</code> which
6909-
are integers in accordance with the requirements of [[!POINTER-EVENTS]].
6905+
6906+
<p>Additionally, a <a>pointer input state</a> object also contains
6907+
<dfn>optional pointer properties</dfn> as shown in the table below
6908+
in accordance with the requirements of [[POINTER-EVENTS]].
6909+
6910+
<table class=simple>
6911+
<thead>
6912+
<tr>
6913+
<th>Property
6914+
<th>Type
6915+
</tr>
6916+
</thead>
6917+
<tr>
6918+
<td><code>width</code>
6919+
<td><a>floating-point number</a>
6920+
</tr>
6921+
<tr>
6922+
<td><code>height</code>
6923+
<td><a>floating-point number</a>
6924+
</tr>
6925+
<tr>
6926+
<td><code>pressure</code>
6927+
<td><a>floating-point number</a>
6928+
</tr>
6929+
<tr>
6930+
<td><code>tangentialPressure</code>
6931+
<td><a>floating-point number</a>
6932+
</tr>
6933+
<tr>
6934+
<td><code>tiltX</code>
6935+
<td><a>integer</a>
6936+
</tr>
6937+
<tr>
6938+
<td><code>tiltY</code>
6939+
<td><a>integer</a>
6940+
</tr>
6941+
<tr>
6942+
<td><code>twist</code>
6943+
<td><a>integer</a>
6944+
</tr>
6945+
</table>
69106946

69116947
<p>When required to <dfn>create a new pointer input state</dfn> object
69126948
with arguments <var>subtype</var> an implementation must return
69136949
a <a>pointer input state</a> object with <code>subtype</code> set
69146950
to <var>subtype</var>, <code>pressed</code> set to an empty set,
6915-
both <code>x</code> and <code>y</code> set to <code>0</code>, and
6951+
both <code>x</code> and <code>y</code> set to <code>0</code>,
69166952
<code>width</code>, <code>height</code>, <code>pressure</code>,
69176953
<code>tangentialPressure</code>, <code>tiltX</code>, <code>tiltY</code>,
6918-
and <code>twist</code> are set to null.
6954+
and <code>twist</code> set to <a>null</a>.
69196955

69206956
<p>Each <a>session</a> has an associated <dfn>input state table</dfn>.
69216957
This is a map between <a>input id</a>
@@ -7509,7 +7545,7 @@ <h2>Processing actions</h2>
75097545
<p>When required to <dfn>process optional pointer properties</dfn>
75107546
with arguments <var>action item</var>, and <var>action</var>, a
75117547
<a>remote end</a> must run the following steps in accordance with
7512-
the requirements of [[!POINTER-EVENTS]]:</p>
7548+
the requirements of [[POINTER-EVENTS]]:</p>
75137549

75147550
<ol>
75157551
<li><p>Let <var>width</var> be the result
@@ -8243,6 +8279,9 @@ <h2>Pointer actions</h2>
82438279
<var>input state</var>’s <code>pressed</code> property, and
82448280
let <var>buttons</var> be the resulting value of that property.
82458281

8282+
<li><p><a>Set input state optional pointer properties</a> with
8283+
arguments <var>action object</var>, <var>input state</var>.
8284+
82468285
<li><p>Append a copy of <var>action object</var> with
82478286
the <var>subtype</var> property changed to <var>pointerUp</var> to
82488287
the <a>current session</a>’s <a>input cancel list</a>.
@@ -8252,7 +8291,9 @@ <h2>Pointer actions</h2>
82528291
numbered <var>button</var> on the pointer with ID
82538292
<var>source id</var>, having type <var>pointerType</var> at
82548293
viewport x coordinate <var>x</var>, viewport y
8255-
coordinate <var>y</var>, with buttons <var>buttons</var> depressed
8294+
coordinate <var>y</var>, with buttons <var>buttons</var> depressed,
8295+
and type specific properties set to the <var>input state</var>’s
8296+
<a>optional pointer properties</a> that are not <a>null</a>,
82568297
in accordance with the requirements of [[UI-EVENTS]] and
82578298
[[POINTER-EVENTS]]. The generated events must
82588299
set <code>ctrlKey</code>, <code>shiftKey</code>, <code>altKey</code>,
@@ -8290,6 +8331,9 @@ <h2>Pointer actions</h2>
82908331
<li><p>Let <var>y</var> be equal to <var>input state</var>’s
82918332
<code>y</code> property.
82928333

8334+
<li><p><a>Set input state optional pointer properties</a> with
8335+
arguments <var>action object</var>, <var>input state</var>.
8336+
82938337
<li><p>Remove <var>button</var> from the set corresponding
82948338
to <var>input state</var>’s <code>pressed</code> property, and
82958339
let <var>buttons</var> be the resulting value of that
@@ -8301,6 +8345,8 @@ <h2>Pointer actions</h2>
83018345
<var>source id</var> having type <var>pointerType</var> at
83028346
viewport x coordinate <var>x</var>, viewport y
83038347
coordinate <var>y</var>, with buttons <var>buttons</var> depressed,
8348+
and type specific properties set to the <var>input state</var>’s
8349+
<a>optional pointer properties</a> that are not <a>null</a>,
83048350
in accordance with the requirements of [[UI-EVENTS]] and
83058351
[[POINTER-EVENTS]]. The generated events must
83068352
set <code>ctrlKey</code>, <code>shiftKey</code>, <code>altKey</code>,
@@ -8378,6 +8424,9 @@ <h2>Pointer actions</h2>
83788424
return <a>error</a> with error code <a>move target out of
83798425
bounds</a>.
83808426

8427+
<li><p><a>Set input state optional pointer properties</a> with
8428+
arguments <var>action object</var>, <var>input state</var>.
8429+
83818430
<li><p>Let <var>duration</var> be equal to
83828431
<var>action object</var>’s <code>duration</code> property if it
83838432
is not <a>undefined</a>, or <var>tick duration</var>
@@ -8449,7 +8498,9 @@ <h2>Pointer actions</h2>
84498498
viewport x coordinate <var>current x</var>, viewport y
84508499
coordinate <var>y</var> to viewport x coordinate <var>x</var> and
84518500
viewport y coordinate <var>y</var>, with
8452-
buttons <var>buttons</var> depressed, in accordance with the
8501+
buttons <var>buttons</var> depressed, and type specific properties
8502+
set to the <var>input state</var>’s <a>optional pointer properties</a>
8503+
that are not <a>null</a>, in accordance with the
84538504
requirements of [[UI-EVENTS]] and [[POINTER-EVENTS]]. The
84548505
generated events must set <code>ctrlKey</code>, <code>shiftKey</code>,
84558506
<code>altKey</code>, and <code>metaKey</code> from the
@@ -8502,6 +8553,54 @@ <h2>Pointer actions</h2>
85028553

85038554
</ol>
85048555

8556+
<p>When required to <dfn>set input state optional pointer properties</dfn>
8557+
with arguments <var>action object</var>, <var>input state</var>,
8558+
an implementation must run the following steps:
8559+
8560+
<ol>
8561+
<li><p>Let <var>width</var> be equal to
8562+
<var>action object</var>’s <code>width</code> property.
8563+
8564+
<li><p>If <var>width</var> is not <a>undefined</a>, let <var>input state</var>’s
8565+
<code>width</code> property equal <var>width</var>.
8566+
8567+
<li><p>Let <var>height</var> be equal to
8568+
<var>action object</var>’s <code>height</code> property.
8569+
8570+
<li><p>If <var>height</var> is not <a>undefined</a>, let <var>input state</var>’s
8571+
<code>height</code> property equal <var>height</var>.
8572+
8573+
<li><p>Let <var>pressure</var> be equal to
8574+
<var>action object</var>’s <code>pressure</code> property.
8575+
8576+
<li><p>If <var>pressure</var> is not <a>undefined</a>, let <var>input state</var>’s
8577+
<code>pressure</code> property equal <var>pressure</var>.
8578+
8579+
<li><p>Let <var>tangentialPressure</var> be equal to
8580+
<var>action object</var>’s <code>tangentialPressure</code> property.
8581+
8582+
<li><p>If <var>tangentialPressure</var> is not <a>undefined</a>, let <var>input state</var>’s
8583+
<code>tangentialPressure</code> property equal <var>tangentialPressure</var>.
8584+
8585+
<li><p>Let <var>tiltX</var> be equal to
8586+
<var>action object</var>’s <code>tiltX</code> property.
8587+
8588+
<li><p>If <var>tiltX</var> is not <a>undefined</a>, let <var>input state</var>’s
8589+
<code>tiltX</code> property equal <var>tiltX</var>.
8590+
8591+
<li><p>Let <var>tiltY</var> be equal to
8592+
<var>action object</var>’s <code>tiltY</code> property.
8593+
8594+
<li><p>If <var>tiltY</var> is not <a>undefined</a>, let <var>input state</var>’s
8595+
<code>tiltY</code> property equal <var>tiltY</var>.
8596+
8597+
<li><p>Let <var>twist</var> be equal to
8598+
<var>action object</var>’s <code>twist</code> property.
8599+
8600+
<li><p>If <var>twist</var> is not <a>undefined</a>, let <var>input state</var>’s
8601+
<code>twist</code> property equal <var>twist</var>.
8602+
</ol>
8603+
85058604
<p>When required to <dfn>dispatch a pointerCancel action</dfn> with
85068605
arguments <var>source id</var>, <var>action object</var>,
85078606
<var>input state</var> and <var>tick duration</var> a

0 commit comments

Comments
 (0)