mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Add session parameter to XRSpace
This commit is contained in:
parent
ffacb1179e
commit
8f14007979
3 changed files with 22 additions and 11 deletions
|
@ -9,6 +9,7 @@ use crate::dom::bindings::root::{DomRoot, MutDom};
|
||||||
use crate::dom::dompointreadonly::DOMPointReadOnly;
|
use crate::dom::dompointreadonly::DOMPointReadOnly;
|
||||||
use crate::dom::window::Window;
|
use crate::dom::window::Window;
|
||||||
use crate::dom::xrrigidtransform::XRRigidTransform;
|
use crate::dom::xrrigidtransform::XRRigidTransform;
|
||||||
|
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;
|
||||||
|
|
||||||
|
@ -19,9 +20,9 @@ pub struct XRReferenceSpace {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl XRReferenceSpace {
|
impl XRReferenceSpace {
|
||||||
pub fn new_inherited(transform: &XRRigidTransform) -> XRReferenceSpace {
|
pub fn new_inherited(session: &XRSession, transform: &XRRigidTransform) -> XRReferenceSpace {
|
||||||
XRReferenceSpace {
|
XRReferenceSpace {
|
||||||
xrspace: XRSpace::new_inherited(),
|
xrspace: XRSpace::new_inherited(session),
|
||||||
transform: MutDom::new(transform),
|
transform: MutDom::new(transform),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,12 +30,13 @@ impl XRReferenceSpace {
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
pub fn new(
|
pub fn new(
|
||||||
global: &Window,
|
global: &Window,
|
||||||
|
session: &XRSession,
|
||||||
position: &DOMPointReadOnly,
|
position: &DOMPointReadOnly,
|
||||||
orientation: &DOMPointReadOnly,
|
orientation: &DOMPointReadOnly,
|
||||||
) -> DomRoot<XRReferenceSpace> {
|
) -> DomRoot<XRReferenceSpace> {
|
||||||
let transform = XRRigidTransform::identity(global);
|
let transform = XRRigidTransform::identity(global);
|
||||||
reflect_dom_object(
|
reflect_dom_object(
|
||||||
Box::new(XRReferenceSpace::new_inherited(&transform)),
|
Box::new(XRReferenceSpace::new_inherited(session, &transform)),
|
||||||
global,
|
global,
|
||||||
XRReferenceSpaceBinding::Wrap,
|
XRReferenceSpaceBinding::Wrap,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,27 +4,30 @@
|
||||||
|
|
||||||
use crate::dom::bindings::codegen::Bindings::XRSpaceBinding;
|
use crate::dom::bindings::codegen::Bindings::XRSpaceBinding;
|
||||||
use crate::dom::bindings::reflector::reflect_dom_object;
|
use crate::dom::bindings::reflector::reflect_dom_object;
|
||||||
use crate::dom::bindings::root::DomRoot;
|
use crate::dom::bindings::root::{Dom, DomRoot};
|
||||||
use crate::dom::eventtarget::EventTarget;
|
use crate::dom::eventtarget::EventTarget;
|
||||||
use crate::dom::globalscope::GlobalScope;
|
use crate::dom::globalscope::GlobalScope;
|
||||||
|
use crate::dom::xrsession::XRSession;
|
||||||
use dom_struct::dom_struct;
|
use dom_struct::dom_struct;
|
||||||
|
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
pub struct XRSpace {
|
pub struct XRSpace {
|
||||||
eventtarget: EventTarget,
|
eventtarget: EventTarget,
|
||||||
|
session: Dom<XRSession>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl XRSpace {
|
impl XRSpace {
|
||||||
pub fn new_inherited() -> XRSpace {
|
pub fn new_inherited(session: &XRSession) -> XRSpace {
|
||||||
XRSpace {
|
XRSpace {
|
||||||
eventtarget: EventTarget::new_inherited(),
|
eventtarget: EventTarget::new_inherited(),
|
||||||
|
session: Dom::from_ref(session),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
pub fn new(global: &GlobalScope) -> DomRoot<XRSpace> {
|
pub fn new(global: &GlobalScope, session: &XRSession) -> DomRoot<XRSpace> {
|
||||||
reflect_dom_object(
|
reflect_dom_object(
|
||||||
Box::new(XRSpace::new_inherited()),
|
Box::new(XRSpace::new_inherited(session)),
|
||||||
global,
|
global,
|
||||||
XRSpaceBinding::Wrap,
|
XRSpaceBinding::Wrap,
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,6 +8,7 @@ use crate::dom::bindings::root::DomRoot;
|
||||||
use crate::dom::window::Window;
|
use crate::dom::window::Window;
|
||||||
use crate::dom::xrreferencespace::XRReferenceSpace;
|
use crate::dom::xrreferencespace::XRReferenceSpace;
|
||||||
use crate::dom::xrrigidtransform::XRRigidTransform;
|
use crate::dom::xrrigidtransform::XRRigidTransform;
|
||||||
|
use crate::dom::xrsession::XRSession;
|
||||||
use dom_struct::dom_struct;
|
use dom_struct::dom_struct;
|
||||||
|
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
|
@ -17,16 +18,21 @@ pub struct XRStationaryReferenceSpace {
|
||||||
|
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
impl XRStationaryReferenceSpace {
|
impl XRStationaryReferenceSpace {
|
||||||
pub fn new_inherited(transform: &XRRigidTransform) -> XRStationaryReferenceSpace {
|
pub fn new_inherited(
|
||||||
|
session: &XRSession,
|
||||||
|
transform: &XRRigidTransform,
|
||||||
|
) -> XRStationaryReferenceSpace {
|
||||||
XRStationaryReferenceSpace {
|
XRStationaryReferenceSpace {
|
||||||
xrreferencespace: XRReferenceSpace::new_inherited(transform),
|
xrreferencespace: XRReferenceSpace::new_inherited(session, transform),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn new(window: &Window) -> DomRoot<XRStationaryReferenceSpace> {
|
pub fn new(window: &Window, session: &XRSession) -> DomRoot<XRStationaryReferenceSpace> {
|
||||||
let transform = XRRigidTransform::identity(window);
|
let transform = XRRigidTransform::identity(window);
|
||||||
reflect_dom_object(
|
reflect_dom_object(
|
||||||
Box::new(XRStationaryReferenceSpace::new_inherited(&transform)),
|
Box::new(XRStationaryReferenceSpace::new_inherited(
|
||||||
|
session, &transform,
|
||||||
|
)),
|
||||||
window,
|
window,
|
||||||
XRStationaryReferenceSpaceBinding::Wrap,
|
XRStationaryReferenceSpaceBinding::Wrap,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue