diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2020-01-08 16:45:37 +0530 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2020-01-09 08:16:25 +0530 |
commit | 7046f543a1875ab419d30fad8cc33333e92e4373 (patch) | |
tree | 52dd2b256324b6487f6830958c705e9285b49fd7 /components/script/dom | |
parent | 11e882385d92dab96350adb5e3531d1b8c248c27 (diff) | |
download | servo-7046f543a1875ab419d30fad8cc33333e92e4373.tar.gz servo-7046f543a1875ab419d30fad8cc33333e92e4373.zip |
Expose targetRayMode
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/webidls/XRInputSource.webidl | 2 | ||||
-rw-r--r-- | components/script/dom/xrinputsource.rs | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/components/script/dom/webidls/XRInputSource.webidl b/components/script/dom/webidls/XRInputSource.webidl index 51efc645282..f07de183927 100644 --- a/components/script/dom/webidls/XRInputSource.webidl +++ b/components/script/dom/webidls/XRInputSource.webidl @@ -19,7 +19,7 @@ enum XRTargetRayMode { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"] interface XRInputSource { readonly attribute XRHandedness handedness; - // [SameObject] readonly attribute XRTargetRayMode targetRayMode; + readonly attribute XRTargetRayMode targetRayMode; [SameObject] readonly attribute XRSpace targetRaySpace; [SameObject] readonly attribute XRSpace? gripSpace; // [SameObject] readonly attribute Gamepad? gamepad; diff --git a/components/script/dom/xrinputsource.rs b/components/script/dom/xrinputsource.rs index d24e328d361..fed76937d9c 100644 --- a/components/script/dom/xrinputsource.rs +++ b/components/script/dom/xrinputsource.rs @@ -4,7 +4,7 @@ use crate::dom::bindings::codegen::Bindings::XRInputSourceBinding; use crate::dom::bindings::codegen::Bindings::XRInputSourceBinding::{ - XRHandedness, XRInputSourceMethods, + XRHandedness, XRInputSourceMethods, XRTargetRayMode, }; use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::{Dom, DomRoot, MutNullableDom}; @@ -12,7 +12,7 @@ use crate::dom::globalscope::GlobalScope; use crate::dom::xrsession::XRSession; use crate::dom::xrspace::XRSpace; use dom_struct::dom_struct; -use webxr_api::{Handedness, InputId, InputSource}; +use webxr_api::{Handedness, InputId, InputSource, TargetRayMode}; #[dom_struct] pub struct XRInputSource { @@ -64,6 +64,15 @@ impl XRInputSourceMethods for XRInputSource { } } + /// https://immersive-web.github.io/webxr/#dom-xrinputsource-targetraymode + fn TargetRayMode(&self) -> XRTargetRayMode { + match self.info.target_ray_mode { + TargetRayMode::Gaze => XRTargetRayMode::Gaze, + TargetRayMode::TrackedPointer => XRTargetRayMode::Tracked_pointer, + TargetRayMode::Screen => XRTargetRayMode::Screen, + } + } + /// https://immersive-web.github.io/webxr/#dom-xrinputsource-targetrayspace fn TargetRaySpace(&self) -> DomRoot<XRSpace> { self.target_ray_space.or_init(|| { |