Index: Source/modules/vr/VRFieldOfView.h |
diff --git a/Source/modules/vr/VRFieldOfView.h b/Source/modules/vr/VRFieldOfView.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f78010fc7bd5144141fbb4423f8d52ff8fffc8d2 |
--- /dev/null |
+++ b/Source/modules/vr/VRFieldOfView.h |
@@ -0,0 +1,102 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef VRFieldOfView_h |
+#define VRFieldOfView_h |
+ |
+#include "bindings/core/v8/ScriptWrappable.h" |
+#include "modules/vr/VRFieldOfViewInit.h" |
+#include "platform/heap/Handle.h" |
+#include "public/platform/WebVR.h" |
+#include "wtf/Forward.h" |
+ |
+ |
+namespace blink { |
+ |
+class VRFieldOfView final : public GarbageCollected<VRFieldOfView>, public ScriptWrappable { |
+ DEFINE_WRAPPERTYPEINFO(); |
+public: |
+ static VRFieldOfView* create(const VRFieldOfViewInit& fov) |
+ { |
+ return new VRFieldOfView(fov); |
+ } |
+ |
+ VRFieldOfView() : m_upDegrees(0.0), m_downDegrees(0.0), m_leftDegrees(0.0), m_rightDegrees(0.0) |
+ { |
+ } |
+ |
+ VRFieldOfView(double upDegrees, double rightDegrees, double downDegrees, double leftDegrees) |
+ : m_upDegrees(0.0) |
+ , m_downDegrees(0.0) |
+ , m_leftDegrees(0.0) |
+ , m_rightDegrees(0.0) |
+ { |
+ } |
+ |
+ explicit VRFieldOfView(const VRFieldOfViewInit& fov) |
+ : m_upDegrees(fov.upDegrees()) |
+ , m_downDegrees(fov.downDegrees()) |
+ , m_leftDegrees(fov.leftDegrees()) |
+ , m_rightDegrees(fov.rightDegrees()) |
+ { |
+ } |
+ |
+ explicit VRFieldOfView(const VRFieldOfView& fov) |
+ : m_upDegrees(fov.m_upDegrees) |
+ , m_downDegrees(fov.m_downDegrees) |
+ , m_leftDegrees(fov.m_leftDegrees) |
+ , m_rightDegrees(fov.m_rightDegrees) |
+ { |
+ } |
+ |
+ double upDegrees() const { return m_upDegrees; } |
+ double downDegrees() const { return m_downDegrees; } |
+ double leftDegrees() const { return m_leftDegrees; } |
+ double rightDegrees() const { return m_rightDegrees; } |
+ |
+ void setUpDegrees(double value) { m_upDegrees = value; } |
+ void setDownDegrees(double value) { m_downDegrees = value; } |
+ void setLeftDegrees(double value) { m_leftDegrees = value; } |
+ void setRightDegrees(double value) { m_rightDegrees = value; } |
+ |
+ void setFromWebVRFieldOfView(const blink::WebVRFieldOfView& fov) |
+ { |
+ m_upDegrees = fov.upDegrees; |
+ m_downDegrees = fov.downDegrees; |
+ m_leftDegrees = fov.leftDegrees; |
+ m_rightDegrees = fov.rightDegrees; |
+ } |
+ |
+ void setFromVRFieldOfView(const VRFieldOfView& fov) |
+ { |
+ m_upDegrees = fov.m_upDegrees; |
+ m_downDegrees = fov.m_downDegrees; |
+ m_leftDegrees = fov.m_leftDegrees; |
+ m_rightDegrees = fov.m_rightDegrees; |
+ } |
+ |
+ WebVRFieldOfView toWebVRFieldOfView() |
+ { |
+ WebVRFieldOfView fov; |
+ fov.upDegrees = m_upDegrees; |
+ fov.downDegrees = m_downDegrees; |
+ fov.leftDegrees = m_leftDegrees; |
+ fov.rightDegrees = m_rightDegrees; |
+ return fov; |
+ } |
+ |
+ virtual void trace(Visitor*) |
+ { |
+ } |
+ |
+private: |
+ double m_upDegrees; |
+ double m_downDegrees; |
+ double m_leftDegrees; |
+ double m_rightDegrees; |
+}; |
+ |
+} // namespace blink |
+ |
+#endif // VRFieldOfView_h |