| // GENERATED CONTENT - DO NOT EDIT | |
| // Content was automatically extracted by Reffy into webref | |
| // (https://github.com/w3c/webref) | |
| // Source: WebXR Layers API Level 1 (https://immersive-web.github.io/layers/) | |
| enum XRLayerLayout { | |
| "default", | |
| "mono", | |
| "stereo", | |
| "stereo-left-right", | |
| "stereo-top-bottom" | |
| }; | |
| enum XRLayerQuality { | |
| "default", | |
| "text-optimized", | |
| "graphics-optimized" | |
| }; | |
| [Exposed=Window] interface XRCompositionLayer : XRLayer { | |
| readonly attribute XRLayerLayout layout; | |
| attribute boolean blendTextureSourceAlpha; | |
| attribute boolean forceMonoPresentation; | |
| attribute float opacity; | |
| readonly attribute unsigned long mipLevels; | |
| attribute XRLayerQuality quality; | |
| readonly attribute boolean needsRedraw; | |
| undefined destroy(); | |
| }; | |
| [Exposed=Window] interface XRProjectionLayer : XRCompositionLayer { | |
| readonly attribute unsigned long textureWidth; | |
| readonly attribute unsigned long textureHeight; | |
| readonly attribute unsigned long textureArrayLength; | |
| readonly attribute boolean ignoreDepthValues; | |
| attribute float? fixedFoveation; | |
| attribute XRRigidTransform? deltaPose; | |
| }; | |
| [Exposed=Window] interface XRQuadLayer : XRCompositionLayer { | |
| attribute XRSpace space; | |
| attribute XRRigidTransform transform; | |
| attribute float width; | |
| attribute float height; | |
| // Events | |
| attribute EventHandler onredraw; | |
| }; | |
| [Exposed=Window] interface XRCylinderLayer : XRCompositionLayer { | |
| attribute XRSpace space; | |
| attribute XRRigidTransform transform; | |
| attribute float radius; | |
| attribute float centralAngle; | |
| attribute float aspectRatio; | |
| // Events | |
| attribute EventHandler onredraw; | |
| }; | |
| [Exposed=Window] interface XREquirectLayer : XRCompositionLayer { | |
| attribute XRSpace space; | |
| attribute XRRigidTransform transform; | |
| attribute float radius; | |
| attribute float centralHorizontalAngle; | |
| attribute float upperVerticalAngle; | |
| attribute float lowerVerticalAngle; | |
| // Events | |
| attribute EventHandler onredraw; | |
| }; | |
| [Exposed=Window] interface XRCubeLayer : XRCompositionLayer { | |
| attribute XRSpace space; | |
| attribute DOMPointReadOnly orientation; | |
| // Events | |
| attribute EventHandler onredraw; | |
| }; | |
| [Exposed=Window] interface XRSubImage { | |
| [SameObject] readonly attribute XRViewport viewport; | |
| }; | |
| [Exposed=Window] interface XRWebGLSubImage : XRSubImage { | |
| [SameObject] readonly attribute WebGLTexture colorTexture; | |
| [SameObject] readonly attribute WebGLTexture? depthStencilTexture; | |
| [SameObject] readonly attribute WebGLTexture? motionVectorTexture; | |
| readonly attribute unsigned long? imageIndex; | |
| readonly attribute unsigned long colorTextureWidth; | |
| readonly attribute unsigned long colorTextureHeight; | |
| readonly attribute unsigned long? depthStencilTextureWidth; | |
| readonly attribute unsigned long? depthStencilTextureHeight; | |
| }; | |
| enum XRTextureType { | |
| "texture", | |
| "texture-array" | |
| }; | |
| dictionary XRProjectionLayerInit { | |
| XRTextureType textureType = "texture"; | |
| GLenum colorFormat = 0x1908; // RGBA | |
| GLenum depthFormat = 0x1902; // DEPTH_COMPONENT | |
| double scaleFactor = 1.0; | |
| boolean clearOnAccess = true; | |
| }; | |
| dictionary XRLayerInit { | |
| required XRSpace space; | |
| XRTextureType textureType = "texture"; | |
| GLenum colorFormat = 0x1908; // RGBA | |
| GLenum? depthFormat; | |
| unsigned long mipLevels = 1; | |
| required unsigned long viewPixelWidth; | |
| required unsigned long viewPixelHeight; | |
| XRLayerLayout layout = "mono"; | |
| boolean isStatic = false; | |
| boolean clearOnAccess = true; | |
| }; | |
| dictionary XRQuadLayerInit : XRLayerInit { | |
| XRRigidTransform? transform; | |
| float width = 1.0; | |
| float height = 1.0; | |
| }; | |
| dictionary XRCylinderLayerInit : XRLayerInit { | |
| XRRigidTransform? transform; | |
| float radius = 2.0; | |
| float centralAngle = 0.78539; | |
| float aspectRatio = 2.0; | |
| }; | |
| dictionary XREquirectLayerInit : XRLayerInit { | |
| XRRigidTransform? transform; | |
| float radius = 0; | |
| float centralHorizontalAngle = 6.28318; | |
| float upperVerticalAngle = 1.570795; | |
| float lowerVerticalAngle = -1.570795; | |
| }; | |
| dictionary XRCubeLayerInit : XRLayerInit { | |
| DOMPointReadOnly? orientation; | |
| }; | |
| [Exposed=Window] interface XRWebGLBinding { | |
| constructor(XRSession session, XRWebGLRenderingContext context); | |
| readonly attribute double nativeProjectionScaleFactor; | |
| readonly attribute boolean usesDepthValues; | |
| XRProjectionLayer createProjectionLayer(optional XRProjectionLayerInit init = {}); | |
| XRQuadLayer createQuadLayer(optional XRQuadLayerInit init = {}); | |
| XRCylinderLayer createCylinderLayer(optional XRCylinderLayerInit init = {}); | |
| XREquirectLayer createEquirectLayer(optional XREquirectLayerInit init = {}); | |
| XRCubeLayer createCubeLayer(optional XRCubeLayerInit init = {}); | |
| XRWebGLSubImage getSubImage(XRCompositionLayer layer, XRFrame frame, optional XREye eye = "none"); | |
| XRWebGLSubImage getViewSubImage(XRProjectionLayer layer, XRView view); | |
| undefined foveateBoundTexture(GLenum target, float fixed_foveation); | |
| }; | |
| dictionary XRMediaLayerInit { | |
| required XRSpace space; | |
| XRLayerLayout layout = "mono"; | |
| boolean invertStereo = false; | |
| }; | |
| dictionary XRMediaQuadLayerInit : XRMediaLayerInit { | |
| XRRigidTransform? transform; | |
| float? width; | |
| float? height; | |
| }; | |
| dictionary XRMediaCylinderLayerInit : XRMediaLayerInit { | |
| XRRigidTransform? transform; | |
| float radius = 2.0; | |
| float centralAngle = 0.78539; | |
| float? aspectRatio; | |
| }; | |
| dictionary XRMediaEquirectLayerInit : XRMediaLayerInit { | |
| XRRigidTransform? transform; | |
| float radius = 0.0; | |
| float centralHorizontalAngle = 6.28318; | |
| float upperVerticalAngle = 1.570795; | |
| float lowerVerticalAngle = -1.570795; | |
| }; | |
| [Exposed=Window] interface XRMediaBinding { | |
| constructor(XRSession session); | |
| XRQuadLayer createQuadLayer(HTMLVideoElement video, optional XRMediaQuadLayerInit init = {}); | |
| XRCylinderLayer createCylinderLayer(HTMLVideoElement video, optional XRMediaCylinderLayerInit init = {}); | |
| XREquirectLayer createEquirectLayer(HTMLVideoElement video, optional XRMediaEquirectLayerInit init = {}); | |
| }; | |
| [SecureContext, Exposed=Window] interface XRLayerEvent : Event { | |
| constructor(DOMString type, XRLayerEventInit eventInitDict); | |
| [SameObject] readonly attribute XRLayer layer; | |
| }; | |
| dictionary XRLayerEventInit : EventInit { | |
| required XRLayer layer; | |
| }; | |
| [SecureContext, Exposed=Window] partial interface XRRenderState { | |
| readonly attribute FrozenArray<XRLayer> layers; | |
| }; | |
| [SecureContext, Exposed=Window] partial interface XRSession { | |
| readonly attribute unsigned long maxRenderLayers; | |
| }; |