SurfaceTexture.h revision 697bce061c1b9bd76fa7f1998ab66ade331029db
1fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi/*
2fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * Copyright (C) 2010 The Android Open Source Project
3fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi *
4fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * Licensed under the Apache License, Version 2.0 (the "License");
5fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * you may not use this file except in compliance with the License.
6fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * You may obtain a copy of the License at
7fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi *
8fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi *      http://www.apache.org/licenses/LICENSE-2.0
9fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi *
10fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * Unless required by applicable law or agreed to in writing, software
11fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * distributed under the License is distributed on an "AS IS" BASIS,
12fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * See the License for the specific language governing permissions and
14fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi * limitations under the License.
15fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi */
16fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi
17e9236d046fdb5cac0696c42e03443a2439188146Jean-Michel Trivi#ifndef ANDROID_GUI_SURFACETEXTURE_H
18fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi#define ANDROID_GUI_SURFACETEXTURE_H
19fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi
204ee246c55533bdab8ab5fa0f0581744fe58e7c91Jean-Michel Trivinamespace android {
214ee246c55533bdab8ab5fa0f0581744fe58e7c91Jean-Michel Trivi
2263c002ab68761be0eace98f28320d8eb2f3f7695Jean-Michel Trivistruct SurfaceTexture {
2326043f06b7d6cb2f93a2f2e7846a4e59da722206Jean-Michel Trivi    struct FrameAvailableListener : public virtual RefBase {};
244ee246c55533bdab8ab5fa0f0581744fe58e7c91Jean-Michel Trivi
25a0fa47f72f47fffb80ab2ae791739ce73de1e8f4Glenn Kasten    SurfaceTexture(GLuint, bool allowSynchronousMode = true) {}
26fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi    void updateTexImage() {}
27665ca3f1b0fc90cd5980a435d164354b2529c0b5Andreas Huber    void decStrong(android::sp<android::SurfaceTexture>* const) {}
2826043f06b7d6cb2f93a2f2e7846a4e59da722206Jean-Michel Trivi    void incStrong(android::sp<android::SurfaceTexture>* const) {}
29eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi    void getTransformMatrix(float mtx[16]) {}
30fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi    void setFrameAvailableListener(const sp<FrameAvailableListener>&) {}
31fe6f6b9ed3683119721618e1aeaa8c7d6baee188Jean-Michel Trivi    void setSynchronousMode(bool) {}
32be59fc5cfd9354d70d4b0e28bb2bca24a6ca6f22Jean-Michel Trivi    GLenum getCurrentTextureTarget() const { return 0; }
337133228a478e16458b659946f2180ecddd13fda7Glenn Kasten    void setBufferCount(int bufferCount) {}
347133228a478e16458b659946f2180ecddd13fda7Glenn Kasten};
35a0fa47f72f47fffb80ab2ae791739ce73de1e8f4Glenn Kasten
36a0fa47f72f47fffb80ab2ae791739ce73de1e8f4Glenn Kastenstatic sp<SurfaceTexture> SurfaceTexture_getSurfaceTexture(JNIEnv* env, jobject thiz)
37a0fa47f72f47fffb80ab2ae791739ce73de1e8f4Glenn Kasten{
38a0fa47f72f47fffb80ab2ae791739ce73de1e8f4Glenn Kasten    sp<SurfaceTexture> s;
39a0fa47f72f47fffb80ab2ae791739ce73de1e8f4Glenn Kasten    return s;
40a0fa47f72f47fffb80ab2ae791739ce73de1e8f4Glenn Kasten}
417133228a478e16458b659946f2180ecddd13fda7Glenn Kasten
42bc0e642e6c1a51b3ae3a02d490d94b03e718e6b5Jean-Michel Trivi}
43bc0e642e6c1a51b3ae3a02d490d94b03e718e6b5Jean-Michel Trivi
4426043f06b7d6cb2f93a2f2e7846a4e59da722206Jean-Michel Trivi#endif
45ecc4fe22e076c4e5c891d823b01db1a683ba6690Glenn Kasten