OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 module device.mojom; | 5 module device.mojom; |
6 | 6 |
7 import "mojo/common/time.mojom"; | 7 import "mojo/common/time.mojom"; |
8 import "gpu/ipc/common/mailbox_holder.mojom"; | |
9 import "gpu/ipc/common/sync_token.mojom"; | |
8 | 10 |
9 // A field of view, given by 4 degrees describing the view from a center point. | 11 // A field of view, given by 4 degrees describing the view from a center point. |
10 struct VRFieldOfView { | 12 struct VRFieldOfView { |
11 float upDegrees; | 13 float upDegrees; |
12 float downDegrees; | 14 float downDegrees; |
13 float leftDegrees; | 15 float leftDegrees; |
14 float rightDegrees; | 16 float rightDegrees; |
15 }; | 17 }; |
16 | 18 |
17 // A display's position, orientation, velocity, and acceleration state at the | 19 // A display's position, orientation, velocity, and acceleration state at the |
18 // given timestamp. | 20 // given timestamp. |
19 struct VRPose { | 21 struct VRPose { |
20 double timestamp; | 22 double timestamp; |
klausw
2017/03/10 02:49:32
Not my change, this is from rebase:
commit f4b1ca
| |
21 array<float, 4>? orientation; | 23 array<float, 4>? orientation; |
22 array<float, 3>? position; | 24 array<float, 3>? position; |
23 array<float, 3>? angularVelocity; | 25 array<float, 3>? angularVelocity; |
24 array<float, 3>? linearVelocity; | 26 array<float, 3>? linearVelocity; |
25 array<float, 3>? angularAcceleration; | 27 array<float, 3>? angularAcceleration; |
26 array<float, 3>? linearAcceleration; | 28 array<float, 3>? linearAcceleration; |
27 }; | 29 }; |
28 | 30 |
29 struct VRDisplayCapabilities { | 31 struct VRDisplayCapabilities { |
30 bool hasOrientation; | 32 bool hasOrientation; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
78 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices); | 80 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices); |
79 // Inform the service that the page is listening for vrdisplayactivate events. | 81 // Inform the service that the page is listening for vrdisplayactivate events. |
80 SetListeningForActivate(bool listening); | 82 SetListeningForActivate(bool listening); |
81 }; | 83 }; |
82 | 84 |
83 interface VRServiceClient { | 85 interface VRServiceClient { |
84 OnDisplayConnected(VRDisplay display, VRDisplayClient& request, | 86 OnDisplayConnected(VRDisplay display, VRDisplayClient& request, |
85 VRDisplayInfo displayInfo); | 87 VRDisplayInfo displayInfo); |
86 }; | 88 }; |
87 | 89 |
90 interface VRSubmitFrameClient { | |
91 OnSubmitFrameTransferred(); | |
92 OnSubmitFrameRendered(); | |
93 }; | |
94 | |
88 interface VRDisplay { | 95 interface VRDisplay { |
89 ResetPose(); | 96 ResetPose(); |
90 | 97 |
91 RequestPresent(bool secureOrigin) => (bool success); | 98 RequestPresent(bool secureOrigin, VRSubmitFrameClient client) => (bool success ); |
92 ExitPresent(); | 99 ExitPresent(); |
93 SubmitFrame(VRPose? pose); | 100 SubmitFrame(int16 frameId, gpu.mojom.MailboxHolder mailboxHolder); |
94 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, | 101 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, |
95 VRLayerBounds rightBounds); | 102 VRLayerBounds rightBounds, int16 sourceWidth, |
103 int16 sourceHeight); | |
96 GetVRVSyncProvider(VRVSyncProvider& request); | 104 GetVRVSyncProvider(VRVSyncProvider& request); |
97 }; | 105 }; |
98 | 106 |
99 interface VRVSyncProvider { | 107 interface VRVSyncProvider { |
100 enum Status { SUCCESS, RETRY }; | 108 enum Status { SUCCESS, CLOSING }; |
101 | 109 |
102 // The frameId maps a VSync to a frame arriving from the compositor. IDs will | 110 // The frameId maps a VSync to a frame arriving from the compositor. IDs will |
103 // be reused after the frame arrives from the compositor. Negative IDs imply | 111 // be reused after the frame arrives from the compositor. Negative IDs imply |
104 // no mapping. | 112 // no mapping. |
105 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId, | 113 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId, |
106 Status status); | 114 Status status); |
107 }; | 115 }; |
108 | 116 |
109 interface VRDisplayClient { | 117 interface VRDisplayClient { |
110 OnChanged(VRDisplayInfo display); | 118 OnChanged(VRDisplayInfo display); |
111 OnExitPresent(); | 119 OnExitPresent(); |
112 OnBlur(); | 120 OnBlur(); |
113 OnFocus(); | 121 OnFocus(); |
114 OnActivate(VRDisplayEventReason reason); | 122 OnActivate(VRDisplayEventReason reason); |
115 OnDeactivate(VRDisplayEventReason reason); | 123 OnDeactivate(VRDisplayEventReason reason); |
116 }; | 124 }; |
OLD | NEW |