summaryrefslogtreecommitdiffstats
path: root/vendor/web-sys/webidls/enabled/VRServiceTest.webidl
blob: 979fd8d117d5bf26f83ad43d7459a43e0b01acc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* 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 http://mozilla.org/MPL/2.0/.
 *
 * This WebIDL is just for WebVR testing.
 */

[Pref="dom.vr.test.enabled",
 HeaderFile="mozilla/dom/VRServiceTest.h"]
interface VRMockDisplay {
  undefined setEyeResolution(unsigned long aRenderWidth, unsigned long aRenderHeight);
  undefined setEyeParameter(VREye eye, double offsetX, double offsetY, double offsetZ,
                       double upDegree, double rightDegree,
                       double downDegree, double leftDegree);
  undefined setPose(Float32Array? position, Float32Array? linearVelocity,
               Float32Array? linearAcceleration, Float32Array? orientation,
               Float32Array? angularVelocity, Float32Array? angularAcceleration);
  undefined setMountState(boolean isMounted);
  undefined update();
};

[Pref="dom.vr.test.enabled",
 HeaderFile="mozilla/dom/VRServiceTest.h"]
interface VRMockController {
  undefined newButtonEvent(unsigned long button, boolean pressed);
  undefined newAxisMoveEvent(unsigned long axis, double value);
  undefined newPoseMove(Float32Array? position, Float32Array? linearVelocity,
                   Float32Array? linearAcceleration, Float32Array? orientation,
                   Float32Array? angularVelocity, Float32Array? angularAcceleration);
};

[Pref="dom.vr.test.enabled",
 HeaderFile="mozilla/dom/VRServiceTest.h"]
interface VRServiceTest {
  [Throws, NewObject]
  Promise<VRMockDisplay> attachVRDisplay(DOMString id);
  [Throws, NewObject]
  Promise<VRMockController> attachVRController(DOMString id);
};