aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrview.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2020-05-14 11:18:34 -0700
committerManish Goregaokar <manishsmail@gmail.com>2020-05-18 08:20:19 -0700
commit794624b42b82e549b1992ec41d7fd830a563ba0e (patch)
treeb17fca761269bf26c1ffe33bc57e8a0b6a6cea2b /components/script/dom/xrview.rs
parenteaad692c0beb8538967fe35632bda9323ab4efbc (diff)
downloadservo-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.rs13
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 {