Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1243)

Unified Diff: ui/android/java/src/org/chromium/ui/gfx/SurfaceTextureBridge.java

Issue 22912020: Introduce facade for interaction with Android SurfaceTexture. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fn order Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/android/java/src/org/chromium/ui/gfx/SurfaceTextureListener.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/android/java/src/org/chromium/ui/gfx/SurfaceTextureBridge.java
diff --git a/ui/android/java/src/org/chromium/ui/gfx/SurfaceTextureBridge.java b/ui/android/java/src/org/chromium/ui/gfx/SurfaceTextureBridge.java
new file mode 100644
index 0000000000000000000000000000000000000000..831830f8e7770a681f12909227eb07bbfd6121b7
--- /dev/null
+++ b/ui/android/java/src/org/chromium/ui/gfx/SurfaceTextureBridge.java
@@ -0,0 +1,64 @@
+// Copyright (c) 2013 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.
+
+package org.chromium.ui.gfx;
+
+import android.graphics.SurfaceTexture;
+import android.os.Build;
+
+import org.chromium.base.CalledByNative;
+import org.chromium.base.JNINamespace;
+
+/**
+ * Wrapper class for the underlying platform's SurfaceTexture in order to
+ * provide a stable JNI API.
+ */
+@JNINamespace("gfx")
+class SurfaceTextureBridge {
+ @CalledByNative
+ private static SurfaceTexture create(int textureId) {
+ return new SurfaceTexture(textureId);
+ }
+
+ @CalledByNative
+ private static void destroy(SurfaceTexture surfaceTexture) {
+ surfaceTexture.setOnFrameAvailableListener(null);
+ surfaceTexture.release();
+ }
+
+ @CalledByNative
+ private static void setFrameAvailableCallback(SurfaceTexture surfaceTexture,
+ int nativeSurfaceTextureListener) {
+ surfaceTexture.setOnFrameAvailableListener(
+ new SurfaceTextureListener(nativeSurfaceTextureListener));
+ }
+
+ @CalledByNative
+ private static void updateTexImage(SurfaceTexture surfaceTexture) {
+ surfaceTexture.updateTexImage();
+ }
+
+ @CalledByNative
+ private static void setDefaultBufferSize(SurfaceTexture surfaceTexture, int width,
+ int height) {
+ surfaceTexture.setDefaultBufferSize(width, height);
+ }
+
+ @CalledByNative
+ private static void getTransformMatrix(SurfaceTexture surfaceTexture, float[] matrix) {
+ surfaceTexture.getTransformMatrix(matrix);
+ }
+
+ @CalledByNative
+ private static void attachToGLContext(SurfaceTexture surfaceTexture, int texName) {
+ assert Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;
+ surfaceTexture.attachToGLContext(texName);
+ }
+
+ @CalledByNative
+ private static void detachFromGLContext(SurfaceTexture surfaceTexture) {
+ assert Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;
+ surfaceTexture.detachFromGLContext();
+ }
+}
« no previous file with comments | « no previous file | ui/android/java/src/org/chromium/ui/gfx/SurfaceTextureListener.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698