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 #include "chrome/browser/android/vr_shell/vr_shell_delegate.h" | 5 #include "chrome/browser/android/vr_shell/vr_shell_delegate.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "chrome/browser/android/vr_shell/vr_shell.h" | 8 #include "chrome/browser/android/vr_shell/vr_shell.h" |
9 #include "device/vr/android/gvr/gvr_device_provider.h" | 9 #include "device/vr/android/gvr/gvr_device_provider.h" |
10 #include "jni/VrShellDelegate_jni.h" | 10 #include "jni/VrShellDelegate_jni.h" |
11 | 11 |
12 using base::android::JavaParamRef; | 12 using base::android::JavaParamRef; |
13 using base::android::AttachCurrentThread; | 13 using base::android::AttachCurrentThread; |
14 | 14 |
15 namespace vr_shell { | 15 namespace vr_shell { |
16 | 16 |
17 // A non presenting delegate for magic window mode. | 17 // A non presenting delegate for magic window mode. |
18 class GvrNonPresentingDelegate : public device::GvrDelegate { | 18 class GvrNonPresentingDelegate : public device::GvrDelegate { |
19 public: | 19 public: |
20 explicit GvrNonPresentingDelegate(jlong context) { | 20 explicit GvrNonPresentingDelegate(jlong context) { |
21 gvr_api_ = | 21 gvr_api_ = |
22 gvr::GvrApi::WrapNonOwned(reinterpret_cast<gvr_context*>(context)); | 22 gvr::GvrApi::WrapNonOwned(reinterpret_cast<gvr_context*>(context)); |
23 } | 23 } |
24 | 24 |
25 virtual ~GvrNonPresentingDelegate() = default; | 25 virtual ~GvrNonPresentingDelegate() = default; |
26 | 26 |
27 // GvrDelegate implementation | 27 // GvrDelegate implementation |
28 void SetWebVRSecureOrigin(bool secure_origin) override {} | 28 void SetWebVRSecureOrigin(bool secure_origin) override {} |
29 void SubmitWebVRFrame() override {} | 29 void SubmitWebVRFrame() override {} |
30 void UpdateWebVRTextureBounds(const gvr::Rectf& left_bounds, | 30 void UpdateWebVRTextureBounds(uint32_t frame_index, |
| 31 const gvr::Rectf& left_bounds, |
31 const gvr::Rectf& right_bounds) override {} | 32 const gvr::Rectf& right_bounds) override {} |
32 void SetGvrPoseForWebVr(const gvr::Mat4f& pose, | 33 void SetGvrPoseForWebVr(const gvr::Mat4f& pose, |
33 uint32_t pose_index) override {} | 34 uint32_t pose_index) override {} |
34 void SetWebVRRenderSurfaceSize(int width, int height) override {} | 35 void SetWebVRRenderSurfaceSize(int width, int height) override {} |
35 gvr::Sizei GetWebVRCompositorSurfaceSize() override { | 36 gvr::Sizei GetWebVRCompositorSurfaceSize() override { |
36 return device::kInvalidRenderTargetSize; } | 37 return device::kInvalidRenderTargetSize; } |
37 gvr::GvrApi* gvr_api() override { return gvr_api_.get(); } | 38 gvr::GvrApi* gvr_api() override { return gvr_api_.get(); } |
38 private: | 39 private: |
39 std::unique_ptr<gvr::GvrApi> gvr_api_; | 40 std::unique_ptr<gvr::GvrApi> gvr_api_; |
40 }; | 41 }; |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 157 |
157 bool RegisterVrShellDelegate(JNIEnv* env) { | 158 bool RegisterVrShellDelegate(JNIEnv* env) { |
158 return RegisterNativesImpl(env); | 159 return RegisterNativesImpl(env); |
159 } | 160 } |
160 | 161 |
161 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 162 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
162 return reinterpret_cast<intptr_t>(new VrShellDelegate(env, obj)); | 163 return reinterpret_cast<intptr_t>(new VrShellDelegate(env, obj)); |
163 } | 164 } |
164 | 165 |
165 } // namespace vr_shell | 166 } // namespace vr_shell |
OLD | NEW |