diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2020-05-14 11:18:34 -0700 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2020-05-18 08:20:19 -0700 |
commit | 794624b42b82e549b1992ec41d7fd830a563ba0e (patch) | |
tree | b17fca761269bf26c1ffe33bc57e8a0b6a6cea2b /components/script/dom/xrview.rs | |
parent | eaad692c0beb8538967fe35632bda9323ab4efbc (diff) | |
download | servo-794624b42b82e549b1992ec41d7fd830a563ba0e.tar.gz servo-794624b42b82e549b1992ec41d7fd830a563ba0e.zip |
Move viewports to being per-session, not per-frame
Diffstat (limited to 'components/script/dom/xrview.rs')
-rw-r--r-- | components/script/dom/xrview.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/components/script/dom/xrview.rs b/components/script/dom/xrview.rs index b33c56cb1b4..4ec37a7b6b0 100644 --- a/components/script/dom/xrview.rs +++ b/components/script/dom/xrview.rs @@ -21,6 +21,7 @@ pub struct XRView { reflector_: Reflector, session: Dom<XRSession>, eye: XREye, + viewport_index: usize, #[ignore_malloc_size_of = "mozjs"] proj: Heap<*mut JSObject>, #[ignore_malloc_size_of = "defined in rust-webxr"] @@ -33,27 +34,26 @@ impl XRView { session: &XRSession, transform: &XRRigidTransform, eye: XREye, + viewport_index: usize, view: View<ApiSpace>, ) -> XRView { XRView { reflector_: Reflector::new(), session: Dom::from_ref(session), eye, + viewport_index, proj: Heap::default(), view, transform: Dom::from_ref(transform), } } - pub fn view(&self) -> &View<ApiSpace> { - &self.view - } - pub fn new<V: Copy>( global: &GlobalScope, session: &XRSession, view: &View<V>, eye: XREye, + viewport_index: usize, pose: &ApiViewerPose, ) -> DomRoot<XRView> { // XXXManishearth compute and cache projection matrices on the Display @@ -70,6 +70,7 @@ impl XRView { session, &transform, eye, + viewport_index, view.cast_unit(), )), global, @@ -79,6 +80,10 @@ impl XRView { pub fn session(&self) -> &XRSession { &self.session } + + pub fn viewport_index(&self) -> usize { + self.viewport_index + } } impl XRViewMethods for XRView { |