@@ -6902,20 +6902,56 @@ <h3 id=input-source-state>State</h3>
6902
6902
a < code > pressed</ code > property which is a set of unsigned integers,
6903
6903
an < code > x</ code > property which is an unsigned integer,
6904
6904
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 >
6910
6946
6911
6947
< p > When required to < dfn > create a new pointer input state</ dfn > object
6912
6948
with arguments < var > subtype</ var > an implementation must return
6913
6949
a < a > pointer input state</ a > object with < code > subtype</ code > set
6914
6950
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 > ,
6916
6952
< code > width</ code > , < code > height</ code > , < code > pressure</ code > ,
6917
6953
< 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 > .
6919
6955
6920
6956
< p > Each < a > session</ a > has an associated < dfn > input state table</ dfn > .
6921
6957
This is a map between < a > input id</ a >
@@ -7509,7 +7545,7 @@ <h2>Processing actions</h2>
7509
7545
< p > When required to < dfn > process optional pointer properties</ dfn >
7510
7546
with arguments < var > action item</ var > , and < var > action</ var > , a
7511
7547
< 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 >
7513
7549
7514
7550
< ol >
7515
7551
< li > < p > Let < var > width</ var > be the result
@@ -8243,6 +8279,9 @@ <h2>Pointer actions</h2>
8243
8279
< var > input state</ var > ’s < code > pressed</ code > property, and
8244
8280
let < var > buttons</ var > be the resulting value of that property.
8245
8281
8282
+ < li > < p > < a > Set input state optional pointer properties</ a > with
8283
+ arguments < var > action object</ var > , < var > input state</ var > .
8284
+
8246
8285
< li > < p > Append a copy of < var > action object</ var > with
8247
8286
the < var > subtype</ var > property changed to < var > pointerUp</ var > to
8248
8287
the < a > current session</ a > ’s < a > input cancel list</ a > .
@@ -8252,7 +8291,9 @@ <h2>Pointer actions</h2>
8252
8291
numbered < var > button</ var > on the pointer with ID
8253
8292
< var > source id</ var > , having type < var > pointerType</ var > at
8254
8293
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 > ,
8256
8297
in accordance with the requirements of [[UI-EVENTS]] and
8257
8298
[[POINTER-EVENTS]]. The generated events must
8258
8299
set < code > ctrlKey</ code > , < code > shiftKey</ code > , < code > altKey</ code > ,
@@ -8290,6 +8331,9 @@ <h2>Pointer actions</h2>
8290
8331
< li > < p > Let < var > y</ var > be equal to < var > input state</ var > ’s
8291
8332
< code > y</ code > property.
8292
8333
8334
+ < li > < p > < a > Set input state optional pointer properties</ a > with
8335
+ arguments < var > action object</ var > , < var > input state</ var > .
8336
+
8293
8337
< li > < p > Remove < var > button</ var > from the set corresponding
8294
8338
to < var > input state</ var > ’s < code > pressed</ code > property, and
8295
8339
let < var > buttons</ var > be the resulting value of that
@@ -8301,6 +8345,8 @@ <h2>Pointer actions</h2>
8301
8345
< var > source id</ var > having type < var > pointerType</ var > at
8302
8346
viewport x coordinate < var > x</ var > , viewport y
8303
8347
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 > ,
8304
8350
in accordance with the requirements of [[UI-EVENTS]] and
8305
8351
[[POINTER-EVENTS]]. The generated events must
8306
8352
set < code > ctrlKey</ code > , < code > shiftKey</ code > , < code > altKey</ code > ,
@@ -8378,6 +8424,9 @@ <h2>Pointer actions</h2>
8378
8424
return < a > error</ a > with error code < a > move target out of
8379
8425
bounds</ a > .
8380
8426
8427
+ < li > < p > < a > Set input state optional pointer properties</ a > with
8428
+ arguments < var > action object</ var > , < var > input state</ var > .
8429
+
8381
8430
< li > < p > Let < var > duration</ var > be equal to
8382
8431
< var > action object</ var > ’s < code > duration</ code > property if it
8383
8432
is not < a > undefined</ a > , or < var > tick duration</ var >
@@ -8449,7 +8498,9 @@ <h2>Pointer actions</h2>
8449
8498
viewport x coordinate < var > current x</ var > , viewport y
8450
8499
coordinate < var > y</ var > to viewport x coordinate < var > x</ var > and
8451
8500
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
8453
8504
requirements of [[UI-EVENTS]] and [[POINTER-EVENTS]]. The
8454
8505
generated events must set < code > ctrlKey</ code > , < code > shiftKey</ code > ,
8455
8506
< code > altKey</ code > , and < code > metaKey</ code > from the
@@ -8502,6 +8553,54 @@ <h2>Pointer actions</h2>
8502
8553
8503
8554
</ ol >
8504
8555
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
+
8505
8604
< p > When required to < dfn > dispatch a pointerCancel action</ dfn > with
8506
8605
arguments < var > source id</ var > , < var > action object</ var > ,
8507
8606
< var > input state</ var > and < var > tick duration</ var > a
0 commit comments