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 <android/native_window_jni.h> | 7 #include <android/native_window_jni.h> |
8 #include <array> | 8 #include <array> |
9 | 9 |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 DCHECK(env->GetArrayLength(jmatrix.obj()) == 9); | 108 DCHECK(env->GetArrayLength(jmatrix.obj()) == 9); |
109 std::array<float, 9> matrix; | 109 std::array<float, 9> matrix; |
110 env->GetFloatArrayRegion(jmatrix.obj(), 0, 9, matrix.data()); | 110 env->GetFloatArrayRegion(jmatrix.obj(), 0, 9, matrix.data()); |
111 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnPixelTransformationChanged, | 111 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnPixelTransformationChanged, |
112 renderer_.GetWeakPtr(), matrix)); | 112 renderer_.GetWeakPtr(), matrix)); |
113 } | 113 } |
114 | 114 |
115 void JniGlDisplayHandler::OnCursorPixelPositionChanged( | 115 void JniGlDisplayHandler::OnCursorPixelPositionChanged( |
116 JNIEnv* env, | 116 JNIEnv* env, |
117 const base::android::JavaParamRef<jobject>& caller, | 117 const base::android::JavaParamRef<jobject>& caller, |
118 int x, | 118 float x, |
119 int y) { | 119 float y) { |
120 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 120 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
121 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnCursorMoved, | 121 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnCursorMoved, |
122 renderer_.GetWeakPtr(), x, y)); | 122 renderer_.GetWeakPtr(), x, y)); |
123 } | 123 } |
124 | 124 |
125 void JniGlDisplayHandler::OnCursorVisibilityChanged( | 125 void JniGlDisplayHandler::OnCursorVisibilityChanged( |
126 JNIEnv* env, | 126 JNIEnv* env, |
127 const base::android::JavaParamRef<jobject>& caller, | 127 const base::android::JavaParamRef<jobject>& caller, |
128 bool visible) { | 128 bool visible) { |
129 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 129 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
130 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnCursorVisibilityChanged, | 130 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnCursorVisibilityChanged, |
131 renderer_.GetWeakPtr(), visible)); | 131 renderer_.GetWeakPtr(), visible)); |
132 } | 132 } |
133 | 133 |
134 void JniGlDisplayHandler::OnCursorInputFeedback( | 134 void JniGlDisplayHandler::OnCursorInputFeedback( |
135 JNIEnv* env, | 135 JNIEnv* env, |
136 const base::android::JavaParamRef<jobject>& caller, | 136 const base::android::JavaParamRef<jobject>& caller, |
137 int x, | 137 float x, |
138 int y, | 138 float y, |
139 float diameter) { | 139 float diameter) { |
140 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 140 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
141 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnCursorInputFeedback, | 141 ui_task_poster_->AddTask(base::Bind(&GlRenderer::OnCursorInputFeedback, |
142 renderer_.GetWeakPtr(), x, y, diameter)); | 142 renderer_.GetWeakPtr(), x, y, diameter)); |
143 } | 143 } |
144 | 144 |
145 bool JniGlDisplayHandler::CanRenderFrame() { | 145 bool JniGlDisplayHandler::CanRenderFrame() { |
146 DCHECK(runtime_->display_task_runner()->BelongsToCurrentThread()); | 146 DCHECK(runtime_->display_task_runner()->BelongsToCurrentThread()); |
147 return egl_context_ && egl_context_->IsWindowBound(); | 147 return egl_context_ && egl_context_->IsWindowBound(); |
148 } | 148 } |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 // static | 199 // static |
200 void JniGlDisplayHandler::ChangeCanvasSizeOnUiThread( | 200 void JniGlDisplayHandler::ChangeCanvasSizeOnUiThread( |
201 base::android::ScopedJavaGlobalRef<jobject> java_display, | 201 base::android::ScopedJavaGlobalRef<jobject> java_display, |
202 int width, | 202 int width, |
203 int height) { | 203 int height) { |
204 JNIEnv* env = base::android::AttachCurrentThread(); | 204 JNIEnv* env = base::android::AttachCurrentThread(); |
205 Java_GlDisplay_changeCanvasSize(env, java_display, width, height); | 205 Java_GlDisplay_changeCanvasSize(env, java_display, width, height); |
206 } | 206 } |
207 | 207 |
208 } // namespace remoting | 208 } // namespace remoting |
OLD | NEW |