2020-09-27 00:15:21 +02:00
|
|
|
/**
|
|
|
|
* @type {XR}
|
|
|
|
*/
|
|
|
|
Navigator.prototype.xr;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRSessionInit() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Array<string>}
|
|
|
|
*/
|
|
|
|
XRSessionInit.prototype.requiredFeatures;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Array<string>}
|
|
|
|
*/
|
|
|
|
XRSessionInit.prototype.optionalFeatures;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XR() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (Event)}
|
|
|
|
*/
|
|
|
|
XR.prototype.ondevicechanged;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {string} mode
|
|
|
|
*
|
|
|
|
* @return {!Promise<boolean>}
|
|
|
|
*/
|
2021-02-21 17:10:26 +01:00
|
|
|
XR.prototype.isSessionSupported = function(mode) {};
|
2020-09-27 00:15:21 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {string} mode
|
|
|
|
* @param {XRSessionInit} options
|
|
|
|
*
|
|
|
|
* @return {!Promise<XRSession>}
|
|
|
|
*/
|
2021-02-21 17:10:26 +01:00
|
|
|
XR.prototype.requestSession = function(mode, options) {};
|
2020-09-27 00:15:21 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRSession() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRRenderState}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.renderState;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Array<XRInputSource>}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.inputSources;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {string}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.visibilityState;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (Event)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onend;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (XRInputSourcesChangeEvent)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.oninputsourceschange;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (XRInputSourceEvent)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onselectstart;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (XRInputSourceEvent)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onselect;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (XRInputSourceEvent)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onselectend;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (XRInputSourceEvent)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onsqueezestart;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (XRInputSourceEvent)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onsqueeze;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (XRInputSourceEvent)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onsqueezeend;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (Event)}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.onvisibilitychange;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {XRRenderStateInit} state
|
|
|
|
* @return {void}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.updateRenderState = function (state) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {XRFrameRequestCallback} callback
|
|
|
|
* @return {number}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.requestAnimationFrame = function (callback) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {number} handle
|
|
|
|
* @return {void}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.cancelAnimationFrame = function (handle) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return {Promise<void>}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.end = function () {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {string} referenceSpaceType
|
|
|
|
* @return {Promise<XRReferenceSpace>}
|
|
|
|
*/
|
|
|
|
XRSession.prototype.requestReferenceSpace = function (referenceSpaceType) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @typedef {function(number, XRFrame): undefined}
|
|
|
|
*/
|
|
|
|
var XRFrameRequestCallback;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRRenderStateInit() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRRenderStateInit.prototype.depthNear;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRRenderStateInit.prototype.depthFar;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRRenderStateInit.prototype.inlineVerticalFieldOfView;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?XRWebGLLayer}
|
|
|
|
*/
|
|
|
|
XRRenderStateInit.prototype.baseLayer;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRRenderState() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRRenderState.prototype.depthNear;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRRenderState.prototype.depthFar;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?number}
|
|
|
|
*/
|
|
|
|
XRRenderState.prototype.inlineVerticalFieldOfView;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?XRWebGLLayer}
|
|
|
|
*/
|
|
|
|
XRRenderState.prototype.baseLayer;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRFrame() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRSession}
|
|
|
|
*/
|
|
|
|
XRFrame.prototype.session;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {XRReferenceSpace} referenceSpace
|
|
|
|
* @return {?XRViewerPose}
|
|
|
|
*/
|
|
|
|
XRFrame.prototype.getViewerPose = function (referenceSpace) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param {XRSpace} space
|
|
|
|
* @param {XRSpace} baseSpace
|
|
|
|
* @return {XRPose}
|
|
|
|
*/
|
|
|
|
XRFrame.prototype.getPose = function (space, baseSpace) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRReferenceSpace() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Array<DOMPointReadOnly>}
|
|
|
|
*/
|
|
|
|
XRReferenceSpace.prototype.boundsGeometry;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {XRRigidTransform} originOffset
|
|
|
|
* @return {XRReferenceSpace}
|
|
|
|
*/
|
|
|
|
XRReferenceSpace.prototype.getOffsetReferenceSpace = function(originOffset) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {?function (Event)}
|
|
|
|
*/
|
|
|
|
XRReferenceSpace.prototype.onreset;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRRigidTransform() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {DOMPointReadOnly}
|
|
|
|
*/
|
|
|
|
XRRigidTransform.prototype.position;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {DOMPointReadOnly}
|
|
|
|
*/
|
|
|
|
XRRigidTransform.prototype.orientation;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Float32Array}
|
|
|
|
*/
|
|
|
|
XRRigidTransform.prototype.matrix;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRRigidTransform}
|
|
|
|
*/
|
|
|
|
XRRigidTransform.prototype.inverse;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRView() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {string}
|
|
|
|
*/
|
|
|
|
XRView.prototype.eye;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Float32Array}
|
|
|
|
*/
|
|
|
|
XRView.prototype.projectionMatrix;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRRigidTransform}
|
|
|
|
*/
|
|
|
|
XRView.prototype.transform;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRViewerPose() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Array<XRView>}
|
|
|
|
*/
|
|
|
|
XRViewerPose.prototype.views;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRViewport() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRViewport.prototype.x;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRViewport.prototype.y;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRViewport.prototype.width;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRViewport.prototype.height;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRWebGLLayerInit() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayerInit.prototype.antialias;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayerInit.prototype.depth;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayerInit.prototype.stencil;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayerInit.prototype.alpha;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayerInit.prototype.ignoreDepthValues;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayerInit.prototype.ignoreDepthValues;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRWebGLLayerInit.prototype.framebufferScaleFactor;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*
|
|
|
|
* @param {XRSession} session
|
|
|
|
* @param {WebGLRenderContext|WebGL2RenderingContext} ctx
|
|
|
|
* @param {?XRWebGLLayerInit} options
|
|
|
|
*/
|
|
|
|
function XRWebGLLayer(session, ctx, options) {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayer.prototype.antialias;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRWebGLLayer.prototype.ignoreDepthValues;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRWebGLLayer.prototype.framebufferWidth;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {number}
|
|
|
|
*/
|
|
|
|
XRWebGLLayer.prototype.framebufferHeight;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {WebGLFramebuffer}
|
|
|
|
*/
|
|
|
|
XRWebGLLayer.prototype.framebuffer;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {XRView} view
|
|
|
|
* @return {?XRViewport}
|
|
|
|
*/
|
|
|
|
XRWebGLLayer.prototype.getViewport = function(view) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {XRSession} session
|
|
|
|
* @return {number}
|
|
|
|
*/
|
|
|
|
XRWebGLLayer.prototype.getNativeFramebufferScaleFactor = function (session) {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function WebGLRenderingContextBase() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return {Promise<void>}
|
|
|
|
*/
|
|
|
|
WebGLRenderingContextBase.prototype.makeXRCompatible = function () {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRInputSourcesChangeEvent() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Array<XRInputSource>}
|
|
|
|
*/
|
|
|
|
XRInputSourcesChangeEvent.prototype.added;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Array<XRInputSource>}
|
|
|
|
*/
|
|
|
|
XRInputSourcesChangeEvent.prototype.removed;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRInputSourceEvent() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRFrame}
|
|
|
|
*/
|
|
|
|
XRInputSourceEvent.prototype.frame;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRInputSource}
|
|
|
|
*/
|
|
|
|
XRInputSourceEvent.prototype.inputSource;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRInputSource() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {Gamepad}
|
|
|
|
*/
|
|
|
|
XRInputSource.prototype.gamepad;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRSpace}
|
|
|
|
*/
|
|
|
|
XRInputSource.prototype.gripSpace;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {string}
|
|
|
|
*/
|
|
|
|
XRInputSource.prototype.handedness;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {string}
|
|
|
|
*/
|
|
|
|
XRInputSource.prototype.profiles;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {string}
|
|
|
|
*/
|
|
|
|
XRInputSource.prototype.targetRayMode;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRSpace}
|
|
|
|
*/
|
|
|
|
XRInputSource.prototype.targetRaySpace;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRSpace() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
function XRPose() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {XRRigidTransform}
|
|
|
|
*/
|
|
|
|
XRPose.prototype.transform;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @type {boolean}
|
|
|
|
*/
|
|
|
|
XRPose.prototype.emulatedPosition;
|