ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / Android / ardrone / project / src / com / parrot / ARDrone / DemoGLSurfaceView.java
1 package com.parrot.ARDrone;\r
2 \r
3 import android.content.Context;\r
4 import android.opengl.GLSurfaceView;\r
5 import android.util.AttributeSet;\r
6 import android.util.Log;\r
7 import android.view.MotionEvent;\r
8 \r
9 \r
10 public class DemoGLSurfaceView extends GLSurfaceView {\r
11         private DemoRenderer mRenderer;\r
12         private static final String LOG_TAG = "ARDrone view";\r
13 \r
14         public DemoGLSurfaceView(Context context) {\r
15         super(context);\r
16     }\r
17         \r
18         public DemoGLSurfaceView(Context context, AttributeSet attrs) {\r
19                 super( context, attrs);\r
20         }\r
21 \r
22         public void initialize( Context context ) {\r
23         mRenderer = new DemoRenderer();\r
24         setRenderer(mRenderer);\r
25 \r
26         // receive events\r
27         setFocusable(true);\r
28         setFocusableInTouchMode(true);\r
29         requestFocus();\r
30         }\r
31         \r
32     @Override\r
33     public boolean onTrackballEvent(final MotionEvent ev) {\r
34         queueEvent(new Runnable() {\r
35                 public void run() {\r
36                         // Log.v(LOG_TAG, "track event=" + ev);\r
37                         nativeTrackballEvent(ev.getEventTime(),\r
38                                          ev.getAction(),\r
39                                          ev.getX(),\r
40                                                                                  ev.getY());\r
41                 }\r
42             });\r
43         return true;\r
44     }\r
45     \r
46 \r
47     @Override\r
48     public boolean dispatchTouchEvent(final MotionEvent ev) {\r
49         queueEvent(new Runnable() {\r
50                 public void run() {\r
51                                         // Log.v(LOG_TAG, "touch event=" + ev);\r
52                     nativeMotionEvent(ev.getEventTime(),\r
53                                       ev.getAction(),\r
54                                       ev.getX(),\r
55                                                                           ev.getY());\r
56                                 }\r
57             });\r
58         return true;\r
59     }\r
60 \r
61     private static native void nativePause();\r
62     private static native void nativeMotionEvent(long eventTime, int action,\r
63                                                                                                  float x, float y);\r
64         private static native void nativeTrackballEvent(long eventTime,\r
65                                                                                                         int action,\r
66                                                                                                         float x, float y);\r
67         //private static native void nativeKeyEvent(int action);\r
68 }