android_view_Surface.h revision cbad976b2a36a0895ca94510d5208a86f66cf596
154a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn/* 254a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * Copyright (C) 2010 The Android Open Source Project 354a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * 454a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 554a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * you may not use this file except in compliance with the License. 654a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * You may obtain a copy of the License at 754a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * 854a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 954a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * 1054a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * Unless required by applicable law or agreed to in writing, software 1154a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 1254a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1354a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * See the License for the specific language governing permissions and 1454a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn * limitations under the License. 1554a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn */ 1654a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn 1754a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn#ifndef _ANDROID_VIEW_SURFACE_H 1854a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn#define _ANDROID_VIEW_SURFACE_H 1954a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn 2054a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn#include <android/native_window.h> 2154a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn 2254a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn#include "jni.h" 2354a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn 2454a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackbornnamespace android { 2554a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn 264e8a5c922c287ec97fec847194e930f8598a1941tedboclass Surface; 27cbad976b2a36a0895ca94510d5208a86f66cf596Jeff Brownclass ISurfaceTexture; 284e8a5c922c287ec97fec847194e930f8598a1941tedbo 2964a55af0ac700baecb0877235eb42caac59a3560Jeff Brown/* Gets the underlying ANativeWindow for a Surface. */ 3064a55af0ac700baecb0877235eb42caac59a3560Jeff Brownextern sp<ANativeWindow> android_view_Surface_getNativeWindow( 3164a55af0ac700baecb0877235eb42caac59a3560Jeff Brown JNIEnv* env, jobject surfaceObj); 3264a55af0ac700baecb0877235eb42caac59a3560Jeff Brown 3364a55af0ac700baecb0877235eb42caac59a3560Jeff Brown/* Returns true if the object is an instance of Surface. */ 3464a55af0ac700baecb0877235eb42caac59a3560Jeff Brownextern bool android_view_Surface_isInstanceOf(JNIEnv* env, jobject obj); 3554a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn 364e8a5c922c287ec97fec847194e930f8598a1941tedbo/* Gets the underlying Surface from a Surface Java object. */ 3764a55af0ac700baecb0877235eb42caac59a3560Jeff Brownextern sp<Surface> android_view_Surface_getSurface(JNIEnv* env, jobject surfaceObj); 384e8a5c922c287ec97fec847194e930f8598a1941tedbo 39cbad976b2a36a0895ca94510d5208a86f66cf596Jeff Brown/* Creates a Surface from an ISurfaceTexture. */ 40cbad976b2a36a0895ca94510d5208a86f66cf596Jeff Brownextern jobject android_view_Surface_createFromISurfaceTexture(JNIEnv* env, 41cbad976b2a36a0895ca94510d5208a86f66cf596Jeff Brown const sp<ISurfaceTexture>& surfaceTexture); 42cbad976b2a36a0895ca94510d5208a86f66cf596Jeff Brown 4354a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn} // namespace android 4454a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn 4554a181b1a2b1517a9479b21fbf7705a688232fafDianne Hackborn#endif // _ANDROID_VIEW_SURFACE_H 46