summaryrefslogtreecommitdiffstats
path: root/dom/vr/test/reftest/VRSimulationDriver.js
blob: 971cdb8626fbfe285403241e5c7c7262e848da0e (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
var VRServiceTest;
var vrMockDisplay;

var VRSimulationDriver = (function() {
"use strict";

var AttachWebVRDisplay = function() {
  if (vrMockDisplay) {
    // Avoid creating multiple displays
    return Promise.resolve(vrMockDisplay);
  }
  var promise = VRServiceTest.attachVRDisplay("VRDisplayTest");
  promise.then(function (display) {
    vrMockDisplay = display;
  });

  return promise;
};

var SetVRDisplayPose = function(position,
                                linearVelocity, linearAcceleration,
                                orientation, angularVelocity,
                                angularAcceleration) {
  vrMockDisplay.setPose(position, linearVelocity, linearAcceleration,
                        orientation, angularVelocity, angularAcceleration);
};

var SetEyeResolution = function(width, height) {
  vrMockDisplay.setEyeResolution(width, height);
}

var SetEyeParameter = function(eye, offsetX, offsetY, offsetZ,
                               upDegree, rightDegree, downDegree, leftDegree) {
  vrMockDisplay.setEyeParameter(eye, offsetX, offsetY, offsetZ, upDegree, rightDegree,
                                downDegree, leftDegree);
}

var SetMountState = function(isMounted) {
  vrMockDisplay.setMountState(isMounted);
}

var UpdateVRDisplay = function() {
  vrMockDisplay.update();
}

var API = {
  AttachWebVRDisplay: AttachWebVRDisplay,
  SetVRDisplayPose: SetVRDisplayPose,
  SetEyeResolution: SetEyeResolution,
  SetEyeParameter: SetEyeParameter,
  SetMountState: SetMountState,
  UpdateVRDisplay: UpdateVRDisplay,

  none: false
};

return API;

}());