146b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown/*
246b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * Copyright (C) 2010 The Android Open Source Project
346b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown *
446b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License");
546b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * you may not use this file except in compliance with the License.
646b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * You may obtain a copy of the License at
746b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown *
846b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown *      http://www.apache.org/licenses/LICENSE-2.0
946b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown *
1046b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * Unless required by applicable law or agreed to in writing, software
1146b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS,
1246b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1346b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * See the License for the specific language governing permissions and
1446b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown * limitations under the License.
1546b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown */
1646b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
1746b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown#ifndef _ANDROID_VIEW_MOTIONEVENT_H
1846b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown#define _ANDROID_VIEW_MOTIONEVENT_H
1946b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
2046b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown#include "jni.h"
211f2451007c660091b7b090c1ea332f9044515d2dJeff Brown#include <utils/Errors.h>
2246b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
2346b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brownnamespace android {
2446b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
2546b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brownclass MotionEvent;
2646b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
271f2451007c660091b7b090c1ea332f9044515d2dJeff Brown/* Obtains an instance of a DVM MotionEvent object as a copy of a native MotionEvent instance.
281f2451007c660091b7b090c1ea332f9044515d2dJeff Brown * Returns NULL on error. */
292ed2462aa29c564f5231f317c27b3188da875e52Jeff Brownextern jobject android_view_MotionEvent_obtainAsCopy(JNIEnv* env, const MotionEvent* event);
3046b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
312ed2462aa29c564f5231f317c27b3188da875e52Jeff Brown/* Gets the underlying native MotionEvent instance within a DVM MotionEvent object.
322ed2462aa29c564f5231f317c27b3188da875e52Jeff Brown * Returns NULL if the event is NULL or if it is uninitialized. */
332ed2462aa29c564f5231f317c27b3188da875e52Jeff Brownextern MotionEvent* android_view_MotionEvent_getNativePtr(JNIEnv* env, jobject eventObj);
3446b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
351f2451007c660091b7b090c1ea332f9044515d2dJeff Brown/* Recycles a DVM MotionEvent object.
361f2451007c660091b7b090c1ea332f9044515d2dJeff Brown * Returns non-zero on error. */
371f2451007c660091b7b090c1ea332f9044515d2dJeff Brownextern status_t android_view_MotionEvent_recycle(JNIEnv* env, jobject eventObj);
3846b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
3946b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown} // namespace android
4046b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown
4146b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown#endif // _ANDROID_OS_KEYEVENT_H
42