| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef VRFrameData_h | 5 #ifndef VRFrameData_h |
| 6 #define VRFrameData_h | 6 #define VRFrameData_h |
| 7 | 7 |
| 8 #include "bindings/core/v8/ScriptWrappable.h" | 8 #include "bindings/core/v8/ScriptWrappable.h" |
| 9 #include "core/dom/DOMHighResTimeStamp.h" | |
| 10 #include "core/dom/DOMTypedArray.h" | 9 #include "core/dom/DOMTypedArray.h" |
| 11 #include "device/vr/vr_service.mojom-blink.h" | 10 #include "device/vr/vr_service.mojom-blink.h" |
| 12 #include "platform/heap/Handle.h" | 11 #include "platform/heap/Handle.h" |
| 13 #include "wtf/Forward.h" | 12 #include "wtf/Forward.h" |
| 14 | 13 |
| 15 namespace blink { | 14 namespace blink { |
| 16 | 15 |
| 17 class VREyeParameters; | 16 class VREyeParameters; |
| 18 class VRPose; | 17 class VRPose; |
| 19 | 18 |
| 20 class VRFrameData final : public GarbageCollected<VRFrameData>, | 19 class VRFrameData final : public GarbageCollected<VRFrameData>, |
| 21 public ScriptWrappable { | 20 public ScriptWrappable { |
| 22 DEFINE_WRAPPERTYPEINFO(); | 21 DEFINE_WRAPPERTYPEINFO(); |
| 23 | 22 |
| 24 public: | 23 public: |
| 25 static VRFrameData* create() { return new VRFrameData(); } | 24 static VRFrameData* create() { return new VRFrameData(); } |
| 26 | 25 |
| 27 VRFrameData(); | 26 VRFrameData(); |
| 28 | 27 |
| 29 DOMHighResTimeStamp timestamp() const { return m_timestamp; } | |
| 30 DOMFloat32Array* leftProjectionMatrix() const { | 28 DOMFloat32Array* leftProjectionMatrix() const { |
| 31 return m_leftProjectionMatrix; | 29 return m_leftProjectionMatrix; |
| 32 } | 30 } |
| 33 DOMFloat32Array* leftViewMatrix() const { return m_leftViewMatrix; } | 31 DOMFloat32Array* leftViewMatrix() const { return m_leftViewMatrix; } |
| 34 DOMFloat32Array* rightProjectionMatrix() const { | 32 DOMFloat32Array* rightProjectionMatrix() const { |
| 35 return m_rightProjectionMatrix; | 33 return m_rightProjectionMatrix; |
| 36 } | 34 } |
| 37 DOMFloat32Array* rightViewMatrix() const { return m_rightViewMatrix; } | 35 DOMFloat32Array* rightViewMatrix() const { return m_rightViewMatrix; } |
| 38 VRPose* pose() const { return m_pose; } | 36 VRPose* pose() const { return m_pose; } |
| 39 | 37 |
| 40 // Populate a the VRFrameData with a pose and the necessary eye parameters. | 38 // Populate a the VRFrameData with a pose and the necessary eye parameters. |
| 41 // TODO(bajones): The full frame data should be provided by the VRService, | 39 // TODO(bajones): The full frame data should be provided by the VRService, |
| 42 // not computed here. | 40 // not computed here. |
| 43 bool update(const device::mojom::blink::VRPosePtr&, | 41 bool update(const device::mojom::blink::VRPosePtr&, |
| 44 VREyeParameters* leftEye, | 42 VREyeParameters* leftEye, |
| 45 VREyeParameters* rightEye, | 43 VREyeParameters* rightEye, |
| 46 float depthNear, | 44 float depthNear, |
| 47 float depthFar); | 45 float depthFar); |
| 48 | 46 |
| 49 DECLARE_VIRTUAL_TRACE() | 47 DECLARE_VIRTUAL_TRACE() |
| 50 | 48 |
| 51 private: | 49 private: |
| 52 DOMHighResTimeStamp m_timestamp; | |
| 53 Member<DOMFloat32Array> m_leftProjectionMatrix; | 50 Member<DOMFloat32Array> m_leftProjectionMatrix; |
| 54 Member<DOMFloat32Array> m_leftViewMatrix; | 51 Member<DOMFloat32Array> m_leftViewMatrix; |
| 55 Member<DOMFloat32Array> m_rightProjectionMatrix; | 52 Member<DOMFloat32Array> m_rightProjectionMatrix; |
| 56 Member<DOMFloat32Array> m_rightViewMatrix; | 53 Member<DOMFloat32Array> m_rightViewMatrix; |
| 57 Member<VRPose> m_pose; | 54 Member<VRPose> m_pose; |
| 58 }; | 55 }; |
| 59 | 56 |
| 60 } // namespace blink | 57 } // namespace blink |
| 61 | 58 |
| 62 #endif // VRStageParameters_h | 59 #endif // VRStageParameters_h |
| OLD | NEW |