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 "remoting/client/jni/jni_gl_display_handler.h" | 5 #include "remoting/client/jni/jni_gl_display_handler.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "jni/GlDisplay_jni.h" | 8 #include "jni/GlDisplay_jni.h" |
9 #include "remoting/client/jni/chromoting_jni_runtime.h" | 9 #include "remoting/client/jni/chromoting_jni_runtime.h" |
10 #include "remoting/protocol/video_renderer.h" | 10 #include "remoting/protocol/video_renderer.h" |
11 | 11 |
12 namespace remoting { | 12 namespace remoting { |
13 | 13 |
14 JniGlDisplayHandler::JniGlDisplayHandler(ChromotingJniRuntime* runtime) : | 14 JniGlDisplayHandler::JniGlDisplayHandler(ChromotingJniRuntime* runtime) : |
15 runtime_(runtime) { | 15 runtime_(runtime) { |
16 java_display_.Reset(Java_GlDisplay_createJavaDisplayObject( | 16 java_display_.Reset(Java_GlDisplay_createJavaDisplayObject( |
17 base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this))); | 17 base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this))); |
18 } | 18 } |
19 | 19 |
20 JniGlDisplayHandler::~JniGlDisplayHandler() { | 20 JniGlDisplayHandler::~JniGlDisplayHandler() { |
21 DCHECK(runtime_->display_task_runner()->BelongsToCurrentThread()); | 21 DCHECK(runtime_->display_task_runner()->BelongsToCurrentThread()); |
22 Java_GlDisplay_invalidate(base::android::AttachCurrentThread(), | 22 Java_GlDisplay_invalidate(base::android::AttachCurrentThread(), |
23 java_display_.obj()); | 23 java_display_.obj()); |
24 } | 24 } |
25 | 25 |
26 base::android::ScopedJavaLocalRef<jobject> | 26 base::android::ScopedJavaLocalRef<jobject> |
27 JniGlDisplayHandler::GetJavaDisplay() { | 27 JniGlDisplayHandler::CreateDesktopViewFactory() { |
28 return base::android::ScopedJavaLocalRef<jobject>(java_display_); | 28 return Java_GlDisplay_createDesktopViewFactory( |
| 29 base::android::AttachCurrentThread(), java_display_.obj()); |
29 } | 30 } |
30 | 31 |
31 std::unique_ptr<protocol::CursorShapeStub> | 32 std::unique_ptr<protocol::CursorShapeStub> |
32 JniGlDisplayHandler::CreateCursorShapeStub() { | 33 JniGlDisplayHandler::CreateCursorShapeStub() { |
33 NOTIMPLEMENTED(); | 34 NOTIMPLEMENTED(); |
34 return std::unique_ptr<protocol::CursorShapeStub>(); | 35 return std::unique_ptr<protocol::CursorShapeStub>(); |
35 } | 36 } |
36 | 37 |
37 std::unique_ptr<protocol::VideoRenderer> | 38 std::unique_ptr<protocol::VideoRenderer> |
38 JniGlDisplayHandler::CreateVideoRenderer() { | 39 JniGlDisplayHandler::CreateVideoRenderer() { |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 // static | 123 // static |
123 void JniGlDisplayHandler::ChangeCanvasSizeOnUiThread( | 124 void JniGlDisplayHandler::ChangeCanvasSizeOnUiThread( |
124 base::android::ScopedJavaGlobalRef<jobject> java_client, | 125 base::android::ScopedJavaGlobalRef<jobject> java_client, |
125 int width, | 126 int width, |
126 int height) { | 127 int height) { |
127 JNIEnv* env = base::android::AttachCurrentThread(); | 128 JNIEnv* env = base::android::AttachCurrentThread(); |
128 Java_GlDisplay_changeCanvasSize(env, java_client.obj(), width, height); | 129 Java_GlDisplay_changeCanvasSize(env, java_client.obj(), width, height); |
129 } | 130 } |
130 | 131 |
131 } // namespace remoting | 132 } // namespace remoting |
OLD | NEW |