From 935b20edf361cc60aa8d03e5ae311078024d1647 Mon Sep 17 00:00:00 2001 From: efokschaner Date: Mon, 2 Apr 2018 23:54:40 -0700 Subject: [PATCH] Make webvr-api consistent with latest lib.es6.d.ts --- types/webvr-api/index.d.ts | 67 +++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 9 deletions(-) diff --git a/types/webvr-api/index.d.ts b/types/webvr-api/index.d.ts index 72fea2097b..cf7e3dc8b8 100644 --- a/types/webvr-api/index.d.ts +++ b/types/webvr-api/index.d.ts @@ -3,6 +3,13 @@ // Definitions by: six a // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// Typescript doesn't allow redefinition of type aliases even if they match, +// thus the _dt_alias to signal this being an alias for the use of DefinitelyTyped +type VRDisplayEventReason_dt_alias = "mounted" | "navigation" | "requested" | "unmounted"; + +// Typescript doesn't allow redefinition of type aliases even if they match, +// thus the _dt_alias to signal this being an alias for the use of DefinitelyTyped +type VREye_dt_alias = "left" | "right"; interface VRDisplay extends EventTarget { /** @@ -55,7 +62,7 @@ interface VRDisplay extends EventTarget { exitPresent(): Promise; /* Return the current VREyeParameters for the given eye. */ - getEyeParameters(whichEye: string): VREyeParameters; + getEyeParameters(whichEye: VREye_dt_alias): VREyeParameters; /** * Populates the passed VRFrameData with the information required to render @@ -69,6 +76,7 @@ interface VRDisplay extends EventTarget { getLayers(): VRLayer[]; /** + * @deprecated * Return a VRPose containing the future predicted pose of the VRDisplay * when the current frame will be presented. The value returned will not * change until JavaScript has returned control to the browser. @@ -138,6 +146,11 @@ interface VRDisplayCapabilities { readonly maxLayers: number; } +declare var VRDisplayCapabilities: { + prototype: VRDisplayCapabilities; + new(): VRDisplayCapabilities; +}; + interface VREyeParameters { /** @deprecated */ readonly fieldOfView: VRFieldOfView; @@ -146,6 +159,11 @@ interface VREyeParameters { readonly renderWidth: number; } +declare var VREyeParameters: { + prototype: VREyeParameters; + new(): VREyeParameters; +}; + interface VRFieldOfView { readonly downDegrees: number; readonly leftDegrees: number; @@ -153,6 +171,11 @@ interface VRFieldOfView { readonly upDegrees: number; } +declare var VRFieldOfView: { + prototype: VRFieldOfView; + new(): VRFieldOfView; +}; + interface VRFrameData { readonly leftProjectionMatrix: Float32Array; readonly leftViewMatrix: Float32Array; @@ -163,9 +186,9 @@ interface VRFrameData { } declare var VRFrameData: { - prototype: VRFrameData - new(): VRFrameData -} + prototype: VRFrameData; + new(): VRFrameData; +}; interface VRPose { readonly angularAcceleration: Float32Array | null; @@ -177,6 +200,11 @@ interface VRPose { readonly timestamp: number; } +declare var VRPose: { + prototype: VRPose; + new(): VRPose; +}; + interface VRStageParameters { sittingToStandingTransform?: Float32Array; sizeX?: number; @@ -188,13 +216,34 @@ interface Navigator { readonly activeVRDisplays: ReadonlyArray; } +interface VRDisplayEventInit extends EventInit { + display: VRDisplay; + reason?: VRDisplayEventReason_dt_alias; +} + +interface VRDisplayEvent extends Event { + readonly display: VRDisplay; + readonly reason: VRDisplayEventReason_dt_alias | null; +} + +declare var VRDisplayEvent: { + prototype: VRDisplayEvent; + new(type: string, eventInitDict: VRDisplayEventInit): VRDisplayEvent; +}; + interface Window { - onvrdisplayconnected: ((this: Window, ev: Event) => any) | null; - onvrdisplaydisconnected: ((this: Window, ev: Event) => any) | null; + onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; + onvrdisplayblur: ((this: Window, ev: Event) => any) | null; + onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; + onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; + onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; + onvrdisplayfocus: ((this: Window, ev: Event) => any) | null; + onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null; + onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null; onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; - addEventListener(type: "vrdisplayconnected", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "vrdisplaydisconnected", listener: (ev: Event) => any, useCapture?: boolean): void; - addEventListener(type: "vrdisplaypresentchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "vrdisplayconnect", listener: (this: Window, ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "vrdisplaydisconnect", listener: (this: Window, ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "vrdisplaypresentchange", listener: (this: Window, ev: Event) => any, useCapture?: boolean): void; } interface Gamepad {