Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: content/renderer/vr/vr_type_converters.cc

Issue 1808203005: [OnionSoup] Moving VR service from content to Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase to ToT! Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/renderer/vr/vr_type_converters.h ('k') | third_party/WebKit/Source/modules/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "content/renderer/vr/vr_type_converters.h"
6
7 #include <string.h>
8
9 #include <algorithm>
10
11 using content::mojom::VRVector3Ptr;
12 using content::mojom::VRVector4Ptr;
13 using content::mojom::VRRectPtr;
14 using content::mojom::VRFieldOfViewPtr;
15 using content::mojom::VREyeParametersPtr;
16 using content::mojom::VRHMDInfoPtr;
17 using content::mojom::VRDeviceInfoPtr;
18 using content::mojom::VRSensorStatePtr;
19
20 namespace mojo {
21
22 // static
23 blink::WebVRVector3 TypeConverter<blink::WebVRVector3, VRVector3Ptr>::Convert(
24 const VRVector3Ptr& input) {
25 blink::WebVRVector3 output;
26 output.x = input->x;
27 output.y = input->y;
28 output.z = input->z;
29 return output;
30 }
31
32 // static
33 blink::WebVRVector4 TypeConverter<blink::WebVRVector4, VRVector4Ptr>::Convert(
34 const VRVector4Ptr& input) {
35 blink::WebVRVector4 output;
36 output.x = input->x;
37 output.y = input->y;
38 output.z = input->z;
39 output.w = input->w;
40 return output;
41 }
42
43 // static
44 blink::WebVRRect TypeConverter<blink::WebVRRect, VRRectPtr>::Convert(
45 const VRRectPtr& input) {
46 blink::WebVRRect output;
47 output.x = input->x;
48 output.y = input->y;
49 output.width = input->width;
50 output.height = input->height;
51 return output;
52 }
53
54 // static
55 blink::WebVRFieldOfView
56 TypeConverter<blink::WebVRFieldOfView, VRFieldOfViewPtr>::Convert(
57 const VRFieldOfViewPtr& input) {
58 blink::WebVRFieldOfView output;
59 output.upDegrees = input->upDegrees;
60 output.downDegrees = input->downDegrees;
61 output.leftDegrees = input->leftDegrees;
62 output.rightDegrees = input->rightDegrees;
63 return output;
64 }
65
66 // static
67 blink::WebVREyeParameters
68 TypeConverter<blink::WebVREyeParameters, VREyeParametersPtr>::Convert(
69 const VREyeParametersPtr& input) {
70 blink::WebVREyeParameters output;
71 output.minimumFieldOfView =
72 input->minimumFieldOfView.To<blink::WebVRFieldOfView>();
73 output.maximumFieldOfView =
74 input->maximumFieldOfView.To<blink::WebVRFieldOfView>();
75 output.recommendedFieldOfView =
76 input->recommendedFieldOfView.To<blink::WebVRFieldOfView>();
77 output.eyeTranslation = input->eyeTranslation.To<blink::WebVRVector3>();
78 output.renderRect = input->renderRect.To<blink::WebVRRect>();
79 return output;
80 }
81
82 // static
83 blink::WebVRHMDInfo TypeConverter<blink::WebVRHMDInfo, VRHMDInfoPtr>::Convert(
84 const VRHMDInfoPtr& input) {
85 blink::WebVRHMDInfo output;
86 output.leftEye = input->leftEye.To<blink::WebVREyeParameters>();
87 output.rightEye = input->rightEye.To<blink::WebVREyeParameters>();
88 return output;
89 }
90
91 // static
92 blink::WebVRDevice TypeConverter<blink::WebVRDevice, VRDeviceInfoPtr>::Convert(
93 const VRDeviceInfoPtr& input) {
94 blink::WebVRDevice output;
95 memset(&output, 0, sizeof(blink::WebVRDevice));
96
97 output.index = input->index;
98 output.flags = blink::WebVRDeviceTypePosition;
99 output.deviceName = blink::WebString::fromUTF8(input->deviceName.data(),
100 input->deviceName.size());
101
102 if (!input->hmdInfo.is_null()) {
103 output.flags |= blink::WebVRDeviceTypeHMD;
104 output.hmdInfo = input->hmdInfo.To<blink::WebVRHMDInfo>();
105 }
106
107 return output;
108 }
109
110 // static
111 blink::WebHMDSensorState
112 TypeConverter<blink::WebHMDSensorState, VRSensorStatePtr>::Convert(
113 const VRSensorStatePtr& input) {
114 blink::WebHMDSensorState output;
115 output.timestamp = input->timestamp;
116 output.frameIndex = input->frameIndex;
117 output.flags = 0;
118
119 if (!input->orientation.is_null()) {
120 output.flags |= blink::WebVRSensorStateOrientation;
121 output.orientation = input->orientation.To<blink::WebVRVector4>();
122 }
123 if (!input->position.is_null()) {
124 output.flags |= blink::WebVRSensorStatePosition;
125 output.position = input->position.To<blink::WebVRVector3>();
126 }
127 if (!input->angularVelocity.is_null()) {
128 output.flags |= blink::WebVRSensorStateAngularVelocity;
129 output.angularVelocity = input->angularVelocity.To<blink::WebVRVector3>();
130 }
131 if (!input->linearVelocity.is_null()) {
132 output.flags |= blink::WebVRSensorStateLinearVelocity;
133 output.linearVelocity = input->linearVelocity.To<blink::WebVRVector3>();
134 }
135 if (!input->angularAcceleration.is_null()) {
136 output.flags |= blink::WebVRSensorStateAngularAcceleration;
137 output.angularAcceleration =
138 input->angularAcceleration.To<blink::WebVRVector3>();
139 }
140 if (!input->linearAcceleration.is_null()) {
141 output.flags |= blink::WebVRSensorStateLinearAcceleration;
142 output.linearAcceleration =
143 input->linearAcceleration.To<blink::WebVRVector3>();
144 }
145
146 return output;
147 }
148
149 } // namespace mojo
OLDNEW
« no previous file with comments | « content/renderer/vr/vr_type_converters.h ('k') | third_party/WebKit/Source/modules/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698