diff options
author | Alan Jeffrey <ajeffrey@mozilla.com> | 2019-07-17 18:09:15 -0500 |
---|---|---|
committer | Alan Jeffrey <ajeffrey@mozilla.com> | 2019-07-18 14:24:50 -0500 |
commit | aa0a72df0f5017c71572af38ec912e8b011bb34d (patch) | |
tree | d024924e0a08a30cdc871cd2dd49ca566df2bd0a /components/script/dom/xrviewport.rs | |
parent | dc1da02aa427d91da4946cef2296b18f893a525f (diff) | |
download | servo-aa0a72df0f5017c71572af38ec912e8b011bb34d.tar.gz servo-aa0a72df0f5017c71572af38ec912e8b011bb34d.zip |
Added framebuffer and related attributes to XRWebGLLayer
Diffstat (limited to 'components/script/dom/xrviewport.rs')
-rw-r--r-- | components/script/dom/xrviewport.rs | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/components/script/dom/xrviewport.rs b/components/script/dom/xrviewport.rs index e3065a51d43..f0b013a317e 100644 --- a/components/script/dom/xrviewport.rs +++ b/components/script/dom/xrviewport.rs @@ -8,36 +8,26 @@ use crate::dom::bindings::reflector::{reflect_dom_object, Reflector}; use crate::dom::bindings::root::DomRoot; use crate::dom::globalscope::GlobalScope; use dom_struct::dom_struct; +use euclid::TypedRect; +use webxr_api::Viewport; #[dom_struct] pub struct XRViewport { reflector_: Reflector, - x: u32, - y: u32, - width: u32, - height: u32, + viewport: TypedRect<i32, Viewport>, } impl XRViewport { - fn new_inherited(x: u32, y: u32, width: u32, height: u32) -> XRViewport { + fn new_inherited(viewport: TypedRect<i32, Viewport>) -> XRViewport { XRViewport { reflector_: Reflector::new(), - x, - y, - width, - height, + viewport, } } - pub fn new( - global: &GlobalScope, - x: u32, - y: u32, - width: u32, - height: u32, - ) -> DomRoot<XRViewport> { + pub fn new(global: &GlobalScope, viewport: TypedRect<i32, Viewport>) -> DomRoot<XRViewport> { reflect_dom_object( - Box::new(XRViewport::new_inherited(x, y, width, height)), + Box::new(XRViewport::new_inherited(viewport)), global, XRViewportBinding::Wrap, ) @@ -47,21 +37,21 @@ impl XRViewport { impl XRViewportMethods for XRViewport { /// https://immersive-web.github.io/webxr/#dom-xrviewport-x fn X(&self) -> i32 { - self.x as i32 + self.viewport.origin.x } /// https://immersive-web.github.io/webxr/#dom-xrviewport-y fn Y(&self) -> i32 { - self.y as i32 + self.viewport.origin.y } /// https://immersive-web.github.io/webxr/#dom-xrviewport-width fn Width(&self) -> i32 { - self.width as i32 + self.viewport.size.width } /// https://immersive-web.github.io/webxr/#dom-xrviewport-height fn Height(&self) -> i32 { - self.height as i32 + self.viewport.size.height } } |