mirror of
https://github.com/servo/servo.git
synced 2025-06-21 15:49:04 +01:00
Add blank FakeXRDeviceController interface
This commit is contained in:
parent
1c07b0f416
commit
9a31f6fe7a
3 changed files with 84 additions and 0 deletions
34
components/script/dom/fakexrdevicecontroller.rs
Normal file
34
components/script/dom/fakexrdevicecontroller.rs
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
use crate::dom::bindings::codegen::Bindings::FakeXRDeviceControllerBinding;
|
||||||
|
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;
|
||||||
|
|
||||||
|
#[dom_struct]
|
||||||
|
pub struct FakeXRDeviceController {
|
||||||
|
reflector: Reflector,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl FakeXRDeviceController {
|
||||||
|
pub fn new_inherited() -> FakeXRDeviceController {
|
||||||
|
FakeXRDeviceController {
|
||||||
|
reflector: Reflector::new(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn new(global: &GlobalScope) -> DomRoot<FakeXRDeviceController> {
|
||||||
|
reflect_dom_object(
|
||||||
|
Box::new(FakeXRDeviceController::new_inherited()),
|
||||||
|
global,
|
||||||
|
FakeXRDeviceControllerBinding::Wrap,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
|
@ -301,6 +301,7 @@ pub mod eventsource;
|
||||||
pub mod eventtarget;
|
pub mod eventtarget;
|
||||||
pub mod extendableevent;
|
pub mod extendableevent;
|
||||||
pub mod extendablemessageevent;
|
pub mod extendablemessageevent;
|
||||||
|
pub mod fakexrdevicecontroller;
|
||||||
pub mod file;
|
pub mod file;
|
||||||
pub mod filelist;
|
pub mod filelist;
|
||||||
pub mod filereader;
|
pub mod filereader;
|
||||||
|
|
49
components/script/dom/webidls/FakeXRDeviceController.webidl
Normal file
49
components/script/dom/webidls/FakeXRDeviceController.webidl
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
// https://github.com/immersive-web/webxr-test-api/
|
||||||
|
|
||||||
|
[Exposed=Window, Pref="dom.webxr.test"]
|
||||||
|
interface FakeXRDeviceController {
|
||||||
|
// Creates and attaches a XRFrameOfReference of the type specified to the device.
|
||||||
|
// void setFrameOfReference(XRFrameOfReferenceType, FakeXRFrameOfReferenceInit);
|
||||||
|
|
||||||
|
// // Sets the values to be used for subsequent
|
||||||
|
// // requestAnimationFrame() callbacks.
|
||||||
|
// void setViews(Array<FakeXRViewInit> views);
|
||||||
|
|
||||||
|
// void setViewerOrigin(FakeXRRigidTransform origin);
|
||||||
|
|
||||||
|
// Simulates the user activating the reset pose on a device.
|
||||||
|
// void simulateResetPose();
|
||||||
|
|
||||||
|
// Simulates the platform ending the sessions.
|
||||||
|
// void simulateForcedEndSessions();
|
||||||
|
|
||||||
|
// Simulates devices focusing and blurring sessions.
|
||||||
|
// void simulateBlurSession(XRSession);
|
||||||
|
// void simulateFocusSession(XRSession);
|
||||||
|
|
||||||
|
// void setBoundsGeometry(Array<FakeXRBoundsPoint> boundsCoodinates)l
|
||||||
|
|
||||||
|
// Promise<FakeXRInputSourceController>
|
||||||
|
// simulateInputSourceConnection(FakeXRInputSourceInit);
|
||||||
|
};
|
||||||
|
|
||||||
|
dictionary FakeXRViewInit {
|
||||||
|
required XREye eye;
|
||||||
|
// https://immersive-web.github.io/webxr/#view-projection-matrix
|
||||||
|
required sequence<float> projectionMatrix;
|
||||||
|
// https://immersive-web.github.io/webxr/#view-offset
|
||||||
|
required FakeXRRigidTransform viewOffset;
|
||||||
|
};
|
||||||
|
|
||||||
|
dictionary FakeXRBoundsPoint {
|
||||||
|
double x; double z;
|
||||||
|
};
|
||||||
|
|
||||||
|
dictionary FakeXRRigidTransform {
|
||||||
|
required sequence<float> position;
|
||||||
|
required sequence<float> orientation;
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue