mirror of
https://github.com/servo/servo.git
synced 2025-08-02 04:00:32 +01:00
Expose targetRayMode
This commit is contained in:
parent
11e882385d
commit
7046f543a1
2 changed files with 12 additions and 3 deletions
|
@ -19,7 +19,7 @@ enum XRTargetRayMode {
|
||||||
[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
|
[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
|
||||||
interface XRInputSource {
|
interface XRInputSource {
|
||||||
readonly attribute XRHandedness handedness;
|
readonly attribute XRHandedness handedness;
|
||||||
// [SameObject] readonly attribute XRTargetRayMode targetRayMode;
|
readonly attribute XRTargetRayMode targetRayMode;
|
||||||
[SameObject] readonly attribute XRSpace targetRaySpace;
|
[SameObject] readonly attribute XRSpace targetRaySpace;
|
||||||
[SameObject] readonly attribute XRSpace? gripSpace;
|
[SameObject] readonly attribute XRSpace? gripSpace;
|
||||||
// [SameObject] readonly attribute Gamepad? gamepad;
|
// [SameObject] readonly attribute Gamepad? gamepad;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
use crate::dom::bindings::codegen::Bindings::XRInputSourceBinding;
|
use crate::dom::bindings::codegen::Bindings::XRInputSourceBinding;
|
||||||
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::reflector::{reflect_dom_object, DomObject, Reflector};
|
||||||
use crate::dom::bindings::root::{Dom, DomRoot, MutNullableDom};
|
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::xrsession::XRSession;
|
||||||
use crate::dom::xrspace::XRSpace;
|
use crate::dom::xrspace::XRSpace;
|
||||||
use dom_struct::dom_struct;
|
use dom_struct::dom_struct;
|
||||||
use webxr_api::{Handedness, InputId, InputSource};
|
use webxr_api::{Handedness, InputId, InputSource, TargetRayMode};
|
||||||
|
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
pub struct XRInputSource {
|
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
|
/// https://immersive-web.github.io/webxr/#dom-xrinputsource-targetrayspace
|
||||||
fn TargetRaySpace(&self) -> DomRoot<XRSpace> {
|
fn TargetRaySpace(&self) -> DomRoot<XRSpace> {
|
||||||
self.target_ray_space.or_init(|| {
|
self.target_ray_space.or_init(|| {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue