1846db33313aa0899fa7928256c6734964bd92520Glenn Kasten/* 2846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * Copyright (C) 2011 The Android Open Source Project 3846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * 4846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * Licensed under the Apache License, Version 2.0 (the "License"); 5846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * you may not use this file except in compliance with the License. 6846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * You may obtain a copy of the License at 7846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * 8846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * http://www.apache.org/licenses/LICENSE-2.0 9846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * 10846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * Unless required by applicable law or agreed to in writing, software 11846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * distributed under the License is distributed on an "AS IS" BASIS, 12846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * See the License for the specific language governing permissions and 14846db33313aa0899fa7928256c6734964bd92520Glenn Kasten * limitations under the License. 15846db33313aa0899fa7928256c6734964bd92520Glenn Kasten */ 16846db33313aa0899fa7928256c6734964bd92520Glenn Kasten 17846db33313aa0899fa7928256c6734964bd92520Glenn Kasten#ifndef _ANDROID_GRAPHICS_SURFACETEXTURE_H 18846db33313aa0899fa7928256c6734964bd92520Glenn Kasten#define _ANDROID_GRAPHICS_SURFACETEXTURE_H 19846db33313aa0899fa7928256c6734964bd92520Glenn Kasten 20846db33313aa0899fa7928256c6734964bd92520Glenn Kasten#include <android/native_window.h> 21846db33313aa0899fa7928256c6734964bd92520Glenn Kasten 22846db33313aa0899fa7928256c6734964bd92520Glenn Kasten#include "jni.h" 23846db33313aa0899fa7928256c6734964bd92520Glenn Kasten 24846db33313aa0899fa7928256c6734964bd92520Glenn Kastennamespace android { 25846db33313aa0899fa7928256c6734964bd92520Glenn Kasten 26d47f7d8b5fe3a3861d7cbdc5f912235407823c8eAndy McFaddenclass GLConsumer; 2752a9a10b6b8c7b7a9f97777541841b94d4fd9754Mathias Agopianclass IGraphicBufferProducer; 28cc5278a3e258b30903102b718fb1cd832e79bb2btedbo 2952a9a10b6b8c7b7a9f97777541841b94d4fd9754Mathias Agopianextern sp<ANativeWindow> android_SurfaceTexture_getNativeWindow(JNIEnv* env, jobject thiz); 30050316184b01c0d1a01c46afae7429b89a27c31btedboextern bool android_SurfaceTexture_isInstanceOf(JNIEnv* env, jobject thiz); 31050316184b01c0d1a01c46afae7429b89a27c31btedbo 32d47f7d8b5fe3a3861d7cbdc5f912235407823c8eAndy McFadden/* Gets the underlying GLConsumer from a SurfaceTexture Java object. */ 33d47f7d8b5fe3a3861d7cbdc5f912235407823c8eAndy McFaddenextern sp<GLConsumer> SurfaceTexture_getSurfaceTexture(JNIEnv* env, jobject thiz); 34846db33313aa0899fa7928256c6734964bd92520Glenn Kasten 3552a9a10b6b8c7b7a9f97777541841b94d4fd9754Mathias Agopian/* gets the producer end of the SurfaceTexture */ 3652a9a10b6b8c7b7a9f97777541841b94d4fd9754Mathias Agopianextern sp<IGraphicBufferProducer> SurfaceTexture_getProducer(JNIEnv* env, jobject thiz); 3752a9a10b6b8c7b7a9f97777541841b94d4fd9754Mathias Agopian 38846db33313aa0899fa7928256c6734964bd92520Glenn Kasten} // namespace android 39846db33313aa0899fa7928256c6734964bd92520Glenn Kasten 40846db33313aa0899fa7928256c6734964bd92520Glenn Kasten#endif // _ANDROID_GRAPHICS_SURFACETEXTURE_H 41