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