Skip to content
Permalink
Browse files

Add XRInputSource.handedness

  • Loading branch information...
Manishearth committed Apr 30, 2019
1 parent b693af6 commit e5716624d462d26fc840a1af124beaf482e26111
Showing with 16 additions and 2 deletions.
  1. +1 −1 components/script/dom/webidls/XRInputSource.webidl
  2. +15 −1 components/script/dom/xrinputsource.rs
@@ -18,7 +18,7 @@ enum XRTargetRayMode {

[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRInputSource {
// [SameObject] readonly attribute XRHandedness handedness;
readonly attribute XRHandedness handedness;
// [SameObject] readonly attribute XRTargetRayMode targetRayMode;
// [SameObject] readonly attribute XRSpace targetRaySpace;
// [SameObject] readonly attribute XRSpace? gripSpace;
@@ -4,12 +4,15 @@

use crate::dom::bindings::cell::DomRefCell;
use crate::dom::bindings::codegen::Bindings::XRInputSourceBinding;
use crate::dom::bindings::codegen::Bindings::XRInputSourceBinding::{
XRHandedness, XRInputSourceMethods,
};
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::globalscope::GlobalScope;
use crate::dom::xrsession::XRSession;
use dom_struct::dom_struct;
use webvr_traits::{WebVRGamepadData, WebVRGamepadState};
use webvr_traits::{WebVRGamepadData, WebVRGamepadHand, WebVRGamepadState};

#[dom_struct]
pub struct XRInputSource {
@@ -52,3 +55,14 @@ impl XRInputSource {
*self.state.borrow_mut() = state;
}
}

impl XRInputSourceMethods for XRInputSource {
/// https://immersive-web.github.io/webxr/#dom-xrinputsource-handedness
fn Handedness(&self) -> XRHandedness {
match self.data.hand {
WebVRGamepadHand::Unknown => XRHandedness::None,
WebVRGamepadHand::Left => XRHandedness::Left,
WebVRGamepadHand::Right => XRHandedness::Right,
}
}
}

0 comments on commit e571662

Please sign in to comment.
You can’t perform that action at this time.