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