mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Add XREnvironmentBlendMode
This commit is contained in:
parent
0c10702e4b
commit
37872b8b9c
2 changed files with 10 additions and 1 deletions
|
@ -17,7 +17,7 @@ interface XRSession : EventTarget {
|
||||||
// // Attributes
|
// // Attributes
|
||||||
readonly attribute XRSessionMode mode;
|
readonly attribute XRSessionMode mode;
|
||||||
// readonly attribute XRPresentationContext outputContext;
|
// readonly attribute XRPresentationContext outputContext;
|
||||||
// readonly attribute XREnvironmentBlendMode environmentBlendMode;
|
readonly attribute XREnvironmentBlendMode environmentBlendMode;
|
||||||
|
|
||||||
attribute double depthNear;
|
attribute double depthNear;
|
||||||
attribute double depthFar;
|
attribute double depthFar;
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
use crate::dom::bindings::codegen::Bindings::VRDisplayBinding::VRDisplayMethods;
|
use crate::dom::bindings::codegen::Bindings::VRDisplayBinding::VRDisplayMethods;
|
||||||
use crate::dom::bindings::codegen::Bindings::XRBinding::XRSessionMode;
|
use crate::dom::bindings::codegen::Bindings::XRBinding::XRSessionMode;
|
||||||
use crate::dom::bindings::codegen::Bindings::XRSessionBinding;
|
use crate::dom::bindings::codegen::Bindings::XRSessionBinding;
|
||||||
|
use crate::dom::bindings::codegen::Bindings::XRSessionBinding::XREnvironmentBlendMode;
|
||||||
use crate::dom::bindings::codegen::Bindings::XRSessionBinding::XRFrameRequestCallback;
|
use crate::dom::bindings::codegen::Bindings::XRSessionBinding::XRFrameRequestCallback;
|
||||||
use crate::dom::bindings::codegen::Bindings::XRSessionBinding::XRSessionMethods;
|
use crate::dom::bindings::codegen::Bindings::XRSessionBinding::XRSessionMethods;
|
||||||
use crate::dom::bindings::codegen::Bindings::XRWebGLLayerBinding::XRWebGLLayerMethods;
|
use crate::dom::bindings::codegen::Bindings::XRWebGLLayerBinding::XRWebGLLayerMethods;
|
||||||
|
@ -26,6 +27,7 @@ pub struct XRSession {
|
||||||
eventtarget: EventTarget,
|
eventtarget: EventTarget,
|
||||||
display: Dom<VRDisplay>,
|
display: Dom<VRDisplay>,
|
||||||
base_layer: MutNullableDom<XRLayer>,
|
base_layer: MutNullableDom<XRLayer>,
|
||||||
|
blend_mode: XREnvironmentBlendMode,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl XRSession {
|
impl XRSession {
|
||||||
|
@ -34,6 +36,8 @@ impl XRSession {
|
||||||
eventtarget: EventTarget::new_inherited(),
|
eventtarget: EventTarget::new_inherited(),
|
||||||
display: Dom::from_ref(display),
|
display: Dom::from_ref(display),
|
||||||
base_layer: Default::default(),
|
base_layer: Default::default(),
|
||||||
|
// we don't yet support any AR devices
|
||||||
|
blend_mode: XREnvironmentBlendMode::Opaque,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,4 +106,9 @@ impl XRSessionMethods for XRSession {
|
||||||
fn CancelAnimationFrame(&self, frame: i32) {
|
fn CancelAnimationFrame(&self, frame: i32) {
|
||||||
self.display.xr_cancel_raf(frame)
|
self.display.xr_cancel_raf(frame)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// https://immersive-web.github.io/webxr/#dom-xrsession-environmentblendmode
|
||||||
|
fn EnvironmentBlendMode(&self) -> XREnvironmentBlendMode {
|
||||||
|
self.blend_mode
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue