1// GENERATED CONTENT - DO NOT EDIT
2// Content was automatically extracted by Reffy into webref
3// (https://github.com/w3c/webref)
4// Source: Touch Events - Level 2 (https://w3c.github.io/touch-events/)
5
6enum TouchType {
7    "direct",
8    "stylus"
9};
10
11dictionary TouchInit {
12    required long        identifier;
13    required EventTarget target;
14             double      clientX = 0;
15             double      clientY = 0;
16             double      screenX = 0;
17             double      screenY = 0;
18             double      pageX = 0;
19             double      pageY = 0;
20             float       radiusX = 0;
21             float       radiusY = 0;
22             float       rotationAngle = 0;
23             float       force = 0;
24             double      altitudeAngle = 0;
25             double      azimuthAngle = 0;
26             TouchType   touchType = "direct";
27};
28
29[Exposed=Window]
30interface Touch {
31    constructor(TouchInit touchInitDict);
32    readonly        attribute long        identifier;
33    readonly        attribute EventTarget target;
34    readonly        attribute double      screenX;
35    readonly        attribute double      screenY;
36    readonly        attribute double      clientX;
37    readonly        attribute double      clientY;
38    readonly        attribute double      pageX;
39    readonly        attribute double      pageY;
40    readonly        attribute float       radiusX;
41    readonly        attribute float       radiusY;
42    readonly        attribute float       rotationAngle;
43    readonly        attribute float       force;
44    readonly        attribute float       altitudeAngle;
45    readonly        attribute float       azimuthAngle;
46    readonly        attribute TouchType   touchType;
47};
48
49[Exposed=Window]
50interface TouchList {
51    readonly        attribute unsigned long length;
52    getter Touch? item (unsigned long index);
53};
54
55dictionary TouchEventInit : EventModifierInit {
56             sequence<Touch> touches = [];
57             sequence<Touch> targetTouches = [];
58             sequence<Touch> changedTouches = [];
59};
60
61[Exposed=Window]
62interface TouchEvent : UIEvent {
63    constructor(DOMString type, optional TouchEventInit eventInitDict = {});
64    readonly        attribute TouchList touches;
65    readonly        attribute TouchList targetTouches;
66    readonly        attribute TouchList changedTouches;
67    readonly        attribute boolean   altKey;
68    readonly        attribute boolean   metaKey;
69    readonly        attribute boolean   ctrlKey;
70    readonly        attribute boolean   shiftKey;
71};
72
73partial interface mixin GlobalEventHandlers {
74                    attribute EventHandler ontouchstart;
75                    attribute EventHandler ontouchend;
76                    attribute EventHandler ontouchmove;
77                    attribute EventHandler ontouchcancel;
78};
79