webxr.externs.js 18 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181
  1. /*
  2. * WebXR Device API
  3. */
  4. /**
  5. * @type {XR}
  6. */
  7. Navigator.prototype.xr;
  8. /**
  9. * @constructor
  10. */
  11. function XRSessionInit() {};
  12. /**
  13. * @type {Array<string>}
  14. */
  15. XRSessionInit.prototype.requiredFeatures;
  16. /**
  17. * @type {Array<string>}
  18. */
  19. XRSessionInit.prototype.optionalFeatures;
  20. /**
  21. * @constructor
  22. */
  23. function XR() {}
  24. /**
  25. * @type {?function (Event)}
  26. */
  27. XR.prototype.ondevicechanged;
  28. /**
  29. * @param {string} mode
  30. *
  31. * @return {!Promise<boolean>}
  32. */
  33. XR.prototype.isSessionSupported = function(mode) {};
  34. /**
  35. * @param {string} mode
  36. * @param {XRSessionInit} options
  37. *
  38. * @return {!Promise<XRSession>}
  39. */
  40. XR.prototype.requestSession = function(mode, options) {};
  41. /**
  42. * @constructor
  43. */
  44. function XRSession() {}
  45. /**
  46. * @type {XRRenderState}
  47. */
  48. XRSession.prototype.renderState;
  49. /**
  50. * @type {Array<XRInputSource>}
  51. */
  52. XRSession.prototype.inputSources;
  53. /**
  54. * @type {string}
  55. */
  56. XRSession.prototype.visibilityState;
  57. /**
  58. * @type {?function (Event)}
  59. */
  60. XRSession.prototype.onend;
  61. /**
  62. * @type {?function (XRInputSourcesChangeEvent)}
  63. */
  64. XRSession.prototype.oninputsourceschange;
  65. /**
  66. * @type {?function (XRInputSourceEvent)}
  67. */
  68. XRSession.prototype.onselectstart;
  69. /**
  70. * @type {?function (XRInputSourceEvent)}
  71. */
  72. XRSession.prototype.onselect;
  73. /**
  74. * @type {?function (XRInputSourceEvent)}
  75. */
  76. XRSession.prototype.onselectend;
  77. /**
  78. * @type {?function (XRInputSourceEvent)}
  79. */
  80. XRSession.prototype.onsqueezestart;
  81. /**
  82. * @type {?function (XRInputSourceEvent)}
  83. */
  84. XRSession.prototype.onsqueeze;
  85. /**
  86. * @type {?function (XRInputSourceEvent)}
  87. */
  88. XRSession.prototype.onsqueezeend;
  89. /**
  90. * @type {?function (Event)}
  91. */
  92. XRSession.prototype.onvisibilitychange;
  93. /**
  94. * @param {XRRenderStateInit} state
  95. * @return {void}
  96. */
  97. XRSession.prototype.updateRenderState = function (state) {};
  98. /**
  99. * @param {XRFrameRequestCallback} callback
  100. * @return {number}
  101. */
  102. XRSession.prototype.requestAnimationFrame = function (callback) {};
  103. /**
  104. * @param {number} handle
  105. * @return {void}
  106. */
  107. XRSession.prototype.cancelAnimationFrame = function (handle) {};
  108. /**
  109. * @return {Promise<void>}
  110. */
  111. XRSession.prototype.end = function () {};
  112. /**
  113. * @param {string} referenceSpaceType
  114. * @return {Promise<XRReferenceSpace>}
  115. */
  116. XRSession.prototype.requestReferenceSpace = function (referenceSpaceType) {};
  117. /**
  118. * @typedef {function(number, XRFrame): undefined}
  119. */
  120. var XRFrameRequestCallback;
  121. /**
  122. * @constructor
  123. */
  124. function XRRenderStateInit() {}
  125. /**
  126. * @type {number}
  127. */
  128. XRRenderStateInit.prototype.depthNear;
  129. /**
  130. * @type {number}
  131. */
  132. XRRenderStateInit.prototype.depthFar;
  133. /**
  134. * @type {number}
  135. */
  136. XRRenderStateInit.prototype.inlineVerticalFieldOfView;
  137. /**
  138. * @type {?XRWebGLLayer}
  139. */
  140. XRRenderStateInit.prototype.baseLayer;
  141. /**
  142. * @constructor
  143. */
  144. function XRRenderState() {};
  145. /**
  146. * @type {number}
  147. */
  148. XRRenderState.prototype.depthNear;
  149. /**
  150. * @type {number}
  151. */
  152. XRRenderState.prototype.depthFar;
  153. /**
  154. * @type {?number}
  155. */
  156. XRRenderState.prototype.inlineVerticalFieldOfView;
  157. /**
  158. * @type {?XRWebGLLayer}
  159. */
  160. XRRenderState.prototype.baseLayer;
  161. /**
  162. * @constructor
  163. */
  164. function XRFrame() {}
  165. /**
  166. * @type {XRSession}
  167. */
  168. XRFrame.prototype.session;
  169. /**
  170. * @param {XRReferenceSpace} referenceSpace
  171. * @return {?XRViewerPose}
  172. */
  173. XRFrame.prototype.getViewerPose = function (referenceSpace) {};
  174. /**
  175. *
  176. * @param {XRSpace} space
  177. * @param {XRSpace} baseSpace
  178. * @return {XRPose}
  179. */
  180. XRFrame.prototype.getPose = function (space, baseSpace) {};
  181. /**
  182. * @constructor
  183. */
  184. function XRReferenceSpace() {};
  185. /**
  186. * @type {Array<DOMPointReadOnly>}
  187. */
  188. XRReferenceSpace.prototype.boundsGeometry;
  189. /**
  190. * @param {XRRigidTransform} originOffset
  191. * @return {XRReferenceSpace}
  192. */
  193. XRReferenceSpace.prototype.getOffsetReferenceSpace = function(originOffset) {};
  194. /**
  195. * @type {?function (Event)}
  196. */
  197. XRReferenceSpace.prototype.onreset;
  198. /**
  199. * @constructor
  200. */
  201. function XRRigidTransform() {};
  202. /**
  203. * @type {DOMPointReadOnly}
  204. */
  205. XRRigidTransform.prototype.position;
  206. /**
  207. * @type {DOMPointReadOnly}
  208. */
  209. XRRigidTransform.prototype.orientation;
  210. /**
  211. * @type {Float32Array}
  212. */
  213. XRRigidTransform.prototype.matrix;
  214. /**
  215. * @type {XRRigidTransform}
  216. */
  217. XRRigidTransform.prototype.inverse;
  218. /**
  219. * @constructor
  220. */
  221. function XRView() {}
  222. /**
  223. * @type {string}
  224. */
  225. XRView.prototype.eye;
  226. /**
  227. * @type {Float32Array}
  228. */
  229. XRView.prototype.projectionMatrix;
  230. /**
  231. * @type {XRRigidTransform}
  232. */
  233. XRView.prototype.transform;
  234. /**
  235. * @constructor
  236. */
  237. function XRViewerPose() {}
  238. /**
  239. * @type {Array<XRView>}
  240. */
  241. XRViewerPose.prototype.views;
  242. /**
  243. * @constructor
  244. */
  245. function XRViewport() {}
  246. /**
  247. * @type {number}
  248. */
  249. XRViewport.prototype.x;
  250. /**
  251. * @type {number}
  252. */
  253. XRViewport.prototype.y;
  254. /**
  255. * @type {number}
  256. */
  257. XRViewport.prototype.width;
  258. /**
  259. * @type {number}
  260. */
  261. XRViewport.prototype.height;
  262. /**
  263. * @constructor
  264. */
  265. function XRWebGLLayerInit() {};
  266. /**
  267. * @type {boolean}
  268. */
  269. XRWebGLLayerInit.prototype.antialias;
  270. /**
  271. * @type {boolean}
  272. */
  273. XRWebGLLayerInit.prototype.depth;
  274. /**
  275. * @type {boolean}
  276. */
  277. XRWebGLLayerInit.prototype.stencil;
  278. /**
  279. * @type {boolean}
  280. */
  281. XRWebGLLayerInit.prototype.alpha;
  282. /**
  283. * @type {boolean}
  284. */
  285. XRWebGLLayerInit.prototype.ignoreDepthValues;
  286. /**
  287. * @type {boolean}
  288. */
  289. XRWebGLLayerInit.prototype.ignoreDepthValues;
  290. /**
  291. * @type {number}
  292. */
  293. XRWebGLLayerInit.prototype.framebufferScaleFactor;
  294. /**
  295. * @constructor
  296. *
  297. * @param {XRSession} session
  298. * @param {WebGLRenderContext|WebGL2RenderingContext} ctx
  299. * @param {?XRWebGLLayerInit} options
  300. */
  301. function XRWebGLLayer(session, ctx, options) {}
  302. /**
  303. * @type {boolean}
  304. */
  305. XRWebGLLayer.prototype.antialias;
  306. /**
  307. * @type {boolean}
  308. */
  309. XRWebGLLayer.prototype.ignoreDepthValues;
  310. /**
  311. * @type {number}
  312. */
  313. XRWebGLLayer.prototype.framebufferWidth;
  314. /**
  315. * @type {number}
  316. */
  317. XRWebGLLayer.prototype.framebufferHeight;
  318. /**
  319. * @type {WebGLFramebuffer}
  320. */
  321. XRWebGLLayer.prototype.framebuffer;
  322. /**
  323. * @param {XRView} view
  324. * @return {?XRViewport}
  325. */
  326. XRWebGLLayer.prototype.getViewport = function(view) {};
  327. /**
  328. * @param {XRSession} session
  329. * @return {number}
  330. */
  331. XRWebGLLayer.prototype.getNativeFramebufferScaleFactor = function (session) {};
  332. /**
  333. * @constructor
  334. */
  335. function WebGLRenderingContextBase() {};
  336. /**
  337. * @return {Promise<void>}
  338. */
  339. WebGLRenderingContextBase.prototype.makeXRCompatible = function () {};
  340. /**
  341. * @constructor
  342. */
  343. function XRInputSourcesChangeEvent() {};
  344. /**
  345. * @type {Array<XRInputSource>}
  346. */
  347. XRInputSourcesChangeEvent.prototype.added;
  348. /**
  349. * @type {Array<XRInputSource>}
  350. */
  351. XRInputSourcesChangeEvent.prototype.removed;
  352. /**
  353. * @constructor
  354. */
  355. function XRInputSourceEvent() {};
  356. /**
  357. * @type {XRFrame}
  358. */
  359. XRInputSourceEvent.prototype.frame;
  360. /**
  361. * @type {XRInputSource}
  362. */
  363. XRInputSourceEvent.prototype.inputSource;
  364. /**
  365. * @constructor
  366. */
  367. function XRInputSource() {};
  368. /**
  369. * @type {Gamepad}
  370. */
  371. XRInputSource.prototype.gamepad;
  372. /**
  373. * @type {XRSpace}
  374. */
  375. XRInputSource.prototype.gripSpace;
  376. /**
  377. * @type {string}
  378. */
  379. XRInputSource.prototype.handedness;
  380. /**
  381. * @type {string}
  382. */
  383. XRInputSource.prototype.profiles;
  384. /**
  385. * @type {string}
  386. */
  387. XRInputSource.prototype.targetRayMode;
  388. /**
  389. * @type {XRSpace}
  390. */
  391. XRInputSource.prototype.targetRaySpace;
  392. /**
  393. * @constructor
  394. */
  395. function XRSpace() {};
  396. /**
  397. * @constructor
  398. */
  399. function XRPose() {};
  400. /**
  401. * @type {XRRigidTransform}
  402. */
  403. XRPose.prototype.transform;
  404. /**
  405. * @type {boolean}
  406. */
  407. XRPose.prototype.emulatedPosition;
  408. /*
  409. * WebXR Layers API Level 1
  410. */
  411. /**
  412. * @constructor XRLayer
  413. */
  414. function XRLayer() {}
  415. /**
  416. * @constructor XRLayerEventInit
  417. */
  418. function XRLayerEventInit() {}
  419. /**
  420. * @type {XRLayer}
  421. */
  422. XRLayerEventInit.prototype.layer;
  423. /**
  424. * @constructor XRLayerEvent
  425. *
  426. * @param {string} type
  427. * @param {XRLayerEventInit} init
  428. */
  429. function XRLayerEvent(type, init) {};
  430. /**
  431. * @type {XRLayer}
  432. */
  433. XRLayerEvent.prototype.layer;
  434. /**
  435. * @constructor XRCompositionLayer
  436. * @extends {XRLayer}
  437. */
  438. function XRCompositionLayer() {};
  439. /**
  440. * @type {string}
  441. */
  442. XRCompositionLayer.prototype.layout;
  443. /**
  444. * @type {boolean}
  445. */
  446. XRCompositionLayer.prototype.blendTextureAberrationCorrection;
  447. /**
  448. * @type {?boolean}
  449. */
  450. XRCompositionLayer.prototype.chromaticAberrationCorrection;
  451. /**
  452. * @type {boolean}
  453. */
  454. XRCompositionLayer.prototype.forceMonoPresentation;
  455. /**
  456. * @type {number}
  457. */
  458. XRCompositionLayer.prototype.opacity;
  459. /**
  460. * @type {number}
  461. */
  462. XRCompositionLayer.prototype.mipLevels;
  463. /**
  464. * @type {boolean}
  465. */
  466. XRCompositionLayer.prototype.needsRedraw;
  467. /**
  468. * @return {void}
  469. */
  470. XRCompositionLayer.prototype.destroy = function () {};
  471. /**
  472. * @constructor XRProjectionLayer
  473. * @extends {XRCompositionLayer}
  474. */
  475. function XRProjectionLayer() {}
  476. /**
  477. * @type {number}
  478. */
  479. XRProjectionLayer.prototype.textureWidth;
  480. /**
  481. * @type {number}
  482. */
  483. XRProjectionLayer.prototype.textureHeight;
  484. /**
  485. * @type {number}
  486. */
  487. XRProjectionLayer.prototype.textureArrayLength;
  488. /**
  489. * @type {boolean}
  490. */
  491. XRProjectionLayer.prototype.ignoreDepthValues;
  492. /**
  493. * @type {?number}
  494. */
  495. XRProjectionLayer.prototype.fixedFoveation;
  496. /**
  497. * @type {XRRigidTransform}
  498. */
  499. XRProjectionLayer.prototype.deltaPose;
  500. /**
  501. * @constructor XRQuadLayer
  502. * @extends {XRCompositionLayer}
  503. */
  504. function XRQuadLayer() {}
  505. /**
  506. * @type {XRSpace}
  507. */
  508. XRQuadLayer.prototype.space;
  509. /**
  510. * @type {XRRigidTransform}
  511. */
  512. XRQuadLayer.prototype.transform;
  513. /**
  514. * @type {number}
  515. */
  516. XRQuadLayer.prototype.width;
  517. /**
  518. * @type {number}
  519. */
  520. XRQuadLayer.prototype.height;
  521. /**
  522. * @type {?function (XRLayerEvent)}
  523. */
  524. XRQuadLayer.prototype.onredraw;
  525. /**
  526. * @constructor XRCylinderLayer
  527. * @extends {XRCompositionLayer}
  528. */
  529. function XRCylinderLayer() {}
  530. /**
  531. * @type {XRSpace}
  532. */
  533. XRCylinderLayer.prototype.space;
  534. /**
  535. * @type {XRRigidTransform}
  536. */
  537. XRCylinderLayer.prototype.transform;
  538. /**
  539. * @type {number}
  540. */
  541. XRCylinderLayer.prototype.radius;
  542. /**
  543. * @type {number}
  544. */
  545. XRCylinderLayer.prototype.centralAngle;
  546. /**
  547. * @type {number}
  548. */
  549. XRCylinderLayer.prototype.aspectRatio;
  550. /**
  551. * @type {?function (XRLayerEvent)}
  552. */
  553. XRCylinderLayer.prototype.onredraw;
  554. /**
  555. * @constructor XREquirectLayer
  556. * @extends {XRCompositionLayer}
  557. */
  558. function XREquirectLayer() {}
  559. /**
  560. * @type {XRSpace}
  561. */
  562. XREquirectLayer.prototype.space;
  563. /**
  564. * @type {XRRigidTransform}
  565. */
  566. XREquirectLayer.prototype.transform;
  567. /**
  568. * @type {number}
  569. */
  570. XREquirectLayer.prototype.radius;
  571. /**
  572. * @type {number}
  573. */
  574. XREquirectLayer.prototype.centralHorizontalAngle;
  575. /**
  576. * @type {number}
  577. */
  578. XREquirectLayer.prototype.upperVerticalAngle;
  579. /**
  580. * @type {number}
  581. */
  582. XREquirectLayer.prototype.lowerVerticalAngle;
  583. /**
  584. * @type {?function (XRLayerEvent)}
  585. */
  586. XREquirectLayer.prototype.onredraw;
  587. /**
  588. * @constructor XRCubeLayer
  589. * @extends {XRCompositionLayer}
  590. */
  591. function XRCubeLayer() {}
  592. /**
  593. * @type {XRSpace}
  594. */
  595. XRCubeLayer.prototype.space;
  596. /**
  597. * @type {DOMPointReadOnly}
  598. */
  599. XRCubeLayer.prototype.orientation;
  600. /**
  601. * @type {?function (XRLayerEvent)}
  602. */
  603. XRCubeLayer.prototype.onredraw;
  604. /**
  605. * @constructor XRSubImage
  606. */
  607. function XRSubImage() {}
  608. /**
  609. * @type {XRViewport}
  610. */
  611. XRSubImage.prototype.viewport;
  612. /**
  613. * @constructor XRWebGLSubImage
  614. * @extends {XRSubImage}
  615. */
  616. function XRWebGLSubImage () {}
  617. /**
  618. * @type {WebGLTexture}
  619. */
  620. XRWebGLSubImage.prototype.colorTexture;
  621. /**
  622. * @type {?WebGLTexture}
  623. */
  624. XRWebGLSubImage.prototype.depthStencilTexture;
  625. /**
  626. * @type {?WebGLTexture}
  627. */
  628. XRWebGLSubImage.prototype.motionVectorTexture;
  629. /**
  630. * @type {?number}
  631. */
  632. XRWebGLSubImage.prototype.imageIndex;
  633. /**
  634. * @type {number}
  635. */
  636. XRWebGLSubImage.prototype.colorTextureWidth;
  637. /**
  638. * @type {number}
  639. */
  640. XRWebGLSubImage.prototype.colorTextureHeight;
  641. /**
  642. * @type {?number}
  643. */
  644. XRWebGLSubImage.prototype.depthStencilTextureWidth;
  645. /**
  646. * @type {?number}
  647. */
  648. XRWebGLSubImage.prototype.depthStencilTextureHeight;
  649. /**
  650. * @type {?number}
  651. */
  652. XRWebGLSubImage.prototype.motionVectorTextureWidth;
  653. /**
  654. * @type {?number}
  655. */
  656. XRWebGLSubImage.prototype.motionVectorTextureHeight;
  657. /**
  658. * @constructor XRProjectionLayerInit
  659. */
  660. function XRProjectionLayerInit() {}
  661. /**
  662. * @type {string}
  663. */
  664. XRProjectionLayerInit.prototype.textureType;
  665. /**
  666. * @type {number}
  667. */
  668. XRProjectionLayerInit.prototype.colorFormat;
  669. /**
  670. * @type {number}
  671. */
  672. XRProjectionLayerInit.prototype.depthFormat;
  673. /**
  674. * @type {number}
  675. */
  676. XRProjectionLayerInit.prototype.scaleFactor;
  677. /**
  678. * @constructor XRLayerInit
  679. */
  680. function XRLayerInit() {}
  681. /**
  682. * @type {XRSpace}
  683. */
  684. XRLayerInit.prototype.space;
  685. /**
  686. * @type {number}
  687. */
  688. XRLayerInit.prototype.colorFormat;
  689. /**
  690. * @type {number}
  691. */
  692. XRLayerInit.prototype.depthFormat;
  693. /**
  694. * @type {number}
  695. */
  696. XRLayerInit.prototype.mipLevels;
  697. /**
  698. * @type {number}
  699. */
  700. XRLayerInit.prototype.viewPixelWidth;
  701. /**
  702. * @type {number}
  703. */
  704. XRLayerInit.prototype.viewPixelHeight;
  705. /**
  706. * @type {string}
  707. */
  708. XRLayerInit.prototype.layout;
  709. /**
  710. * @type {boolean}
  711. */
  712. XRLayerInit.prototype.isStatic;
  713. /**
  714. * @constructor XRQuadLayerInit
  715. * @extends {XRLayerInit}
  716. */
  717. function XRQuadLayerInit() {}
  718. /**
  719. * @type {string}
  720. */
  721. XRQuadLayerInit.prototype.textureType;
  722. /**
  723. * @type {?XRRigidTransform}
  724. */
  725. XRQuadLayerInit.prototype.transform;
  726. /**
  727. * @type {number}
  728. */
  729. XRQuadLayerInit.prototype.width;
  730. /**
  731. * @type {number}
  732. */
  733. XRQuadLayerInit.prototype.height;
  734. /**
  735. * @constructor XRCylinderLayerInit
  736. * @extends {XRLayerInit}
  737. */
  738. function XRCylinderLayerInit() {}
  739. /**
  740. * @type {string}
  741. */
  742. XRCylinderLayerInit.prototype.textureType;
  743. /**
  744. * @type {?XRRigidTransform}
  745. */
  746. XRCylinderLayerInit.prototype.transform;
  747. /**
  748. * @type {number}
  749. */
  750. XRCylinderLayerInit.prototype.radius;
  751. /**
  752. * @type {number}
  753. */
  754. XRCylinderLayerInit.prototype.centralAngle;
  755. /**
  756. * @type {number}
  757. */
  758. XRCylinderLayerInit.prototype.aspectRatio;
  759. /**
  760. * @constructor XREquirectLayerInit
  761. * @extends {XRLayerInit}
  762. */
  763. function XREquirectLayerInit() {}
  764. /**
  765. * @type {string}
  766. */
  767. XREquirectLayerInit.prototype.textureType;
  768. /**
  769. * @type {?XRRigidTransform}
  770. */
  771. XREquirectLayerInit.prototype.transform;
  772. /**
  773. * @type {number}
  774. */
  775. XREquirectLayerInit.prototype.radius;
  776. /**
  777. * @type {number}
  778. */
  779. XREquirectLayerInit.prototype.centralHorizontalAngle;
  780. /**
  781. * @type {number}
  782. */
  783. XREquirectLayerInit.prototype.upperVerticalAngle;
  784. /**
  785. * @type {number}
  786. */
  787. XREquirectLayerInit.prototype.lowerVerticalAngle;
  788. /**
  789. * @constructor XRCubeLayerInit
  790. * @extends {XRLayerInit}
  791. */
  792. function XRCubeLayerInit() {}
  793. /**
  794. * @type {DOMPointReadOnly}
  795. */
  796. XRCubeLayerInit.prototype.orientation;
  797. /**
  798. * @constructor XRWebGLBinding
  799. *
  800. * @param {XRSession} session
  801. * @param {WebGLRenderContext|WebGL2RenderingContext} context
  802. */
  803. function XRWebGLBinding(session, context) {}
  804. /**
  805. * @type {number}
  806. */
  807. XRWebGLBinding.prototype.nativeProjectionScaleFactor;
  808. /**
  809. * @type {number}
  810. */
  811. XRWebGLBinding.prototype.usesDepthValues;
  812. /**
  813. * @param {XRProjectionLayerInit} init
  814. * @return {XRProjectionLayer}
  815. */
  816. XRWebGLBinding.prototype.createProjectionLayer = function (init) {};
  817. /**
  818. * @param {XRQuadLayerInit} init
  819. * @return {XRQuadLayer}
  820. */
  821. XRWebGLBinding.prototype.createQuadLayer = function (init) {};
  822. /**
  823. * @param {XRCylinderLayerInit} init
  824. * @return {XRCylinderLayer}
  825. */
  826. XRWebGLBinding.prototype.createCylinderLayer = function (init) {};
  827. /**
  828. * @param {XREquirectLayerInit} init
  829. * @return {XREquirectLayer}
  830. */
  831. XRWebGLBinding.prototype.createEquirectLayer = function (init) {};
  832. /**
  833. * @param {XRCubeLayerInit} init
  834. * @return {XRCubeLayer}
  835. */
  836. XRWebGLBinding.prototype.createCubeLayer = function (init) {};
  837. /**
  838. * @param {XRCompositionLayer} layer
  839. * @param {XRFrame} frame
  840. * @param {string} eye
  841. * @return {XRWebGLSubImage}
  842. */
  843. XRWebGLBinding.prototype.getSubImage = function (layer, frame, eye) {};
  844. /**
  845. * @param {XRProjectionLayer} layer
  846. * @param {XRView} view
  847. * @return {XRWebGLSubImage}
  848. */
  849. XRWebGLBinding.prototype.getViewSubImage = function (layer, view) {};
  850. /**
  851. * @constructor XRMediaLayerInit
  852. */
  853. function XRMediaLayerInit() {}
  854. /**
  855. * @type {XRSpace}
  856. */
  857. XRMediaLayerInit.prototype.space;
  858. /**
  859. * @type {string}
  860. */
  861. XRMediaLayerInit.prototype.layout;
  862. /**
  863. * @type {boolean}
  864. */
  865. XRMediaLayerInit.prototype.invertStereo;
  866. /**
  867. * @constructor XRMediaQuadLayerInit
  868. * @extends {XRMediaLayerInit}
  869. */
  870. function XRMediaQuadLayerInit() {}
  871. /**
  872. * @type {XRRigidTransform}
  873. */
  874. XRMediaQuadLayerInit.prototype.transform;
  875. /**
  876. * @type {number}
  877. */
  878. XRMediaQuadLayerInit.prototype.width;
  879. /**
  880. * @type {number}
  881. */
  882. XRMediaQuadLayerInit.prototype.height;
  883. /**
  884. * @constructor XRMediaCylinderLayerInit
  885. * @extends {XRMediaLayerInit}
  886. */
  887. function XRMediaCylinderLayerInit() {}
  888. /**
  889. * @type {XRRigidTransform}
  890. */
  891. XRMediaCylinderLayerInit.prototype.transform;
  892. /**
  893. * @type {number}
  894. */
  895. XRMediaCylinderLayerInit.prototype.radius;
  896. /**
  897. * @type {number}
  898. */
  899. XRMediaCylinderLayerInit.prototype.centralAngle;
  900. /**
  901. * @type {?number}
  902. */
  903. XRMediaCylinderLayerInit.prototype.aspectRatio;
  904. /**
  905. * @constructor XRMediaEquirectLayerInit
  906. * @extends {XRMediaLayerInit}
  907. */
  908. function XRMediaEquirectLayerInit() {}
  909. /**
  910. * @type {XRRigidTransform}
  911. */
  912. XRMediaEquirectLayerInit.prototype.transform;
  913. /**
  914. * @type {number}
  915. */
  916. XRMediaEquirectLayerInit.prototype.radius;
  917. /**
  918. * @type {number}
  919. */
  920. XRMediaEquirectLayerInit.prototype.centralHorizontalAngle;
  921. /**
  922. * @type {number}
  923. */
  924. XRMediaEquirectLayerInit.prototype.upperVerticalAngle;
  925. /**
  926. * @type {number}
  927. */
  928. XRMediaEquirectLayerInit.prototype.lowerVerticalAngle;
  929. /**
  930. * @constructor XRMediaBinding
  931. *
  932. * @param {XRSession} session
  933. */
  934. function XRMediaBinding(session) {}
  935. /**
  936. * @param {HTMLVideoElement} video
  937. * @param {XRMediaQuadLayerInit} init
  938. * @return {XRQuadLayer}
  939. */
  940. XRMediaBinding.prototype.createQuadLayer = function(video, init) {};
  941. /**
  942. * @param {HTMLVideoElement} video
  943. * @param {XRMediaCylinderLayerInit} init
  944. * @return {XRCylinderLayer}
  945. */
  946. XRMediaBinding.prototype.createCylinderLayer = function(video, init) {};
  947. /**
  948. * @param {HTMLVideoElement} video
  949. * @param {XRMediaEquirectLayerInit} init
  950. * @return {XREquirectLayer}
  951. */
  952. XRMediaBinding.prototype.createEquirectLayer = function(video, init) {};
  953. /**
  954. * @type {Array<XRLayer>}
  955. */
  956. XRRenderState.prototype.layers;