diff options
Diffstat (limited to 'components/script/dom/xrrenderstate.rs')
-rw-r--r-- | components/script/dom/xrrenderstate.rs | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/components/script/dom/xrrenderstate.rs b/components/script/dom/xrrenderstate.rs index cc0739396e2..04ce6d1810a 100644 --- a/components/script/dom/xrrenderstate.rs +++ b/components/script/dom/xrrenderstate.rs @@ -4,8 +4,7 @@ use crate::dom::bindings::codegen::Bindings::XRRenderStateBinding::{self, XRRenderStateMethods}; use crate::dom::bindings::num::Finite; -use crate::dom::bindings::reflector::reflect_dom_object; -use crate::dom::bindings::reflector::Reflector; +use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::{DomRoot, MutNullableDom}; use crate::dom::globalscope::GlobalScope; use crate::dom::xrlayer::XRLayer; @@ -47,6 +46,25 @@ impl XRRenderState { XRRenderStateBinding::Wrap, ) } + + pub fn copy(&self) -> DomRoot<Self> { + XRRenderState::new( + &self.global(), + self.depth_near.get(), + self.depth_far.get(), + self.layer.get().as_ref().map(|x| &**x), + ) + } + + pub fn set_depth_near(&self, depth: f64) { + self.depth_near.set(depth) + } + pub fn set_depth_far(&self, depth: f64) { + self.depth_far.set(depth) + } + pub fn set_layer(&self, layer: Option<&XRLayer>) { + self.layer.set(layer) + } } impl XRRenderStateMethods for XRRenderState { |