From 92c5d274fd46b284d5f7b2ebd8b4851f67b97ebf Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 13 Nov 2018 17:00:53 +0900 Subject: [PATCH] add Pointer Lock types --- baselines/dom.generated.d.ts | 8 ++++++++ inputfiles/idl/Pointer Lock.widl | 23 +++++++++++++++++++++++ inputfiles/idlSources.json | 4 ++++ 3 files changed, 35 insertions(+) create mode 100644 inputfiles/idl/Pointer Lock.widl diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 45f674577..5040e307b 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -724,6 +724,8 @@ interface MouseEventInit extends EventModifierInit { buttons?: number; clientX?: number; clientY?: number; + movementX?: number; + movementY?: number; relatedTarget?: EventTarget | null; screenX?: number; screenY?: number; @@ -4006,6 +4008,8 @@ interface DhKeyGenParams extends Algorithm { interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { "fullscreenchange": Event; "fullscreenerror": Event; + "pointerlockchange": Event; + "pointerlockerror": Event; "readystatechange": ProgressEvent; "visibilitychange": Event; } @@ -4166,6 +4170,8 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par location: Location; onfullscreenchange: ((this: Document, ev: Event) => any) | null; onfullscreenerror: ((this: Document, ev: Event) => any) | null; + onpointerlockchange: ((this: Document, ev: Event) => any) | null; + onpointerlockerror: ((this: Document, ev: Event) => any) | null; /** * Fires when the state of the object has changed. * @param ev The event @@ -4463,6 +4469,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * resolves promise when done. */ exitFullscreen(): Promise; + exitPointerLock(): void; getAnimations(): Animation[]; /** * Returns a reference to the first object with the specified value of the ID or NAME attribute. @@ -4877,6 +4884,7 @@ interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, * Displays element fullscreen and resolves promise when done. */ requestFullscreen(): Promise; + requestPointerLock(): void; scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; scrollBy(options?: ScrollToOptions): void; diff --git a/inputfiles/idl/Pointer Lock.widl b/inputfiles/idl/Pointer Lock.widl new file mode 100644 index 000000000..8bd391535 --- /dev/null +++ b/inputfiles/idl/Pointer Lock.widl @@ -0,0 +1,23 @@ +partial interface Element { + void requestPointerLock(); +}; + +partial interface Document { + attribute EventHandler onpointerlockchange; + attribute EventHandler onpointerlockerror; + void exitPointerLock(); +}; + +partial interface DocumentOrShadowRoot { + readonly attribute Element? pointerLockElement; +}; + +partial interface MouseEvent { + readonly attribute long movementX; + readonly attribute long movementY; +}; + +partial dictionary MouseEventInit { + long movementX = 0; + long movementY = 0; +}; diff --git a/inputfiles/idlSources.json b/inputfiles/idlSources.json index e0986acfd..e0163c7c4 100644 --- a/inputfiles/idlSources.json +++ b/inputfiles/idlSources.json @@ -190,6 +190,10 @@ "url": "https://www.w3.org/TR/pointerevents2/", "title": "Pointer Events" }, + { + "url": "https://www.w3.org/TR/pointerlock-2/", + "title": "Pointer Lock" + }, { "url": "https://www.w3.org/TR/push-api/", "title": "Push"