1e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/* 2e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Copyright (C) 2010 The Android Open Source Project 3e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * 4e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Licensed under the Apache License, Version 2.0 (the "License"); 5e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * you may not use this file except in compliance with the License. 6e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * You may obtain a copy of the License at 7e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * 8e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * http://www.apache.org/licenses/LICENSE-2.0 9e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * 10e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Unless required by applicable law or agreed to in writing, software 11e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * distributed under the License is distributed on an "AS IS" BASIS, 12e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * See the License for the specific language governing permissions and 14e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * limitations under the License. 15e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 16e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 17e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#ifndef ANDROID_NATIVE_WINDOW_JNI_H 18e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#define ANDROID_NATIVE_WINDOW_JNI_H 19e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 20e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#include <android/native_window.h> 21e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 22e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#include <jni.h> 23e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 24e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#ifdef __cplusplus 25e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianextern "C" { 26e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#endif 27e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 28e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/** 29e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Return the ANativeWindow associated with a Java Surface object, 30e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * for interacting with it through native code. This acquires a reference 31e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * on the ANativeWindow that is returned; be sure to use ANativeWindow_release() 32e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * when done with it so that it doesn't leak. 33e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 34e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias AgopianANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface); 35e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 36e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#ifdef __cplusplus 37e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian}; 38e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#endif 39e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 40e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#endif // ANDROID_NATIVE_WINDOW_H 41