mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
58 lines
1.8 KiB
Text
58 lines
1.8 KiB
Text
/* 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/. */
|
|
|
|
// skip-unless CARGO_FEATURE_WEBXR
|
|
|
|
// https://immersive-web.github.io/webxr-test-api/#fakexrinputcontroller
|
|
|
|
[Exposed=Window, Pref="dom_webxr_test"]
|
|
interface FakeXRInputController {
|
|
undefined setHandedness(XRHandedness handedness);
|
|
undefined setTargetRayMode(XRTargetRayMode targetRayMode);
|
|
undefined setProfiles(sequence<DOMString> profiles);
|
|
[Throws] undefined setGripOrigin(FakeXRRigidTransformInit gripOrigin, optional boolean emulatedPosition = false);
|
|
undefined clearGripOrigin();
|
|
[Throws] undefined setPointerOrigin(
|
|
FakeXRRigidTransformInit pointerOrigin,
|
|
optional boolean emulatedPosition = false
|
|
);
|
|
|
|
undefined disconnect();
|
|
undefined reconnect();
|
|
|
|
undefined startSelection();
|
|
undefined endSelection();
|
|
undefined simulateSelect();
|
|
|
|
undefined setSupportedButtons(sequence<FakeXRButtonStateInit> supportedButtons);
|
|
[Throws] undefined updateButtonState(FakeXRButtonStateInit buttonState);
|
|
};
|
|
|
|
dictionary FakeXRInputSourceInit {
|
|
required XRHandedness handedness;
|
|
required XRTargetRayMode targetRayMode;
|
|
required FakeXRRigidTransformInit pointerOrigin;
|
|
required sequence<DOMString> profiles;
|
|
boolean selectionStarted = false;
|
|
boolean selectionClicked = false;
|
|
sequence<FakeXRButtonStateInit> supportedButtons;
|
|
FakeXRRigidTransformInit gripOrigin;
|
|
};
|
|
|
|
enum FakeXRButtonType {
|
|
"grip",
|
|
"touchpad",
|
|
"thumbstick",
|
|
"optional-button",
|
|
"optional-thumbstick"
|
|
};
|
|
|
|
dictionary FakeXRButtonStateInit {
|
|
required FakeXRButtonType buttonType;
|
|
required boolean pressed;
|
|
required boolean touched;
|
|
required float pressedValue;
|
|
float xValue = 0.0;
|
|
float yValue = 0.0;
|
|
};
|