aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrviewport.rs
diff options
context:
space:
mode:
authorAlan Jeffrey <ajeffrey@mozilla.com>2019-07-17 18:09:15 -0500
committerAlan Jeffrey <ajeffrey@mozilla.com>2019-07-18 14:24:50 -0500
commitaa0a72df0f5017c71572af38ec912e8b011bb34d (patch)
treed024924e0a08a30cdc871cd2dd49ca566df2bd0a /components/script/dom/xrviewport.rs
parentdc1da02aa427d91da4946cef2296b18f893a525f (diff)
downloadservo-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.rs32
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
}
}