ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / Android / ardrone / project / src / com / parrot / ARDrone / DemoGLSurfaceView.java
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Android/ardrone/project/src/com/parrot/ARDrone/DemoGLSurfaceView.java b/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Android/ardrone/project/src/com/parrot/ARDrone/DemoGLSurfaceView.java
new file mode 100644 (file)
index 0000000..82efded
--- /dev/null
@@ -0,0 +1,68 @@
+package com.parrot.ARDrone;\r
+\r
+import android.content.Context;\r
+import android.opengl.GLSurfaceView;\r
+import android.util.AttributeSet;\r
+import android.util.Log;\r
+import android.view.MotionEvent;\r
+\r
+\r
+public class DemoGLSurfaceView extends GLSurfaceView {\r
+       private DemoRenderer mRenderer;\r
+       private static final String LOG_TAG = "ARDrone view";\r
+\r
+       public DemoGLSurfaceView(Context context) {\r
+        super(context);\r
+    }\r
+       \r
+       public DemoGLSurfaceView(Context context, AttributeSet attrs) {\r
+               super( context, attrs);\r
+       }\r
+\r
+       public void initialize( Context context ) {\r
+        mRenderer = new DemoRenderer();\r
+        setRenderer(mRenderer);\r
+\r
+        // receive events\r
+        setFocusable(true);\r
+        setFocusableInTouchMode(true);\r
+        requestFocus();\r
+       }\r
+       \r
+    @Override\r
+    public boolean onTrackballEvent(final MotionEvent ev) {\r
+        queueEvent(new Runnable() {\r
+                public void run() {\r
+                       // Log.v(LOG_TAG, "track event=" + ev);\r
+                       nativeTrackballEvent(ev.getEventTime(),\r
+                                         ev.getAction(),\r
+                                         ev.getX(),\r
+                                                                                ev.getY());\r
+                }\r
+            });\r
+        return true;\r
+    }\r
+    \r
+\r
+    @Override\r
+    public boolean dispatchTouchEvent(final MotionEvent ev) {\r
+        queueEvent(new Runnable() {\r
+                public void run() {\r
+                                       // Log.v(LOG_TAG, "touch event=" + ev);\r
+                    nativeMotionEvent(ev.getEventTime(),\r
+                                      ev.getAction(),\r
+                                      ev.getX(),\r
+                                                                         ev.getY());\r
+                               }\r
+            });\r
+        return true;\r
+    }\r
+\r
+    private static native void nativePause();\r
+    private static native void nativeMotionEvent(long eventTime, int action,\r
+                                                                                                float x, float y);\r
+       private static native void nativeTrackballEvent(long eventTime,\r
+                                                                                                       int action,\r
+                                                                                                       float x, float y);\r
+       //private static native void nativeKeyEvent(int action);\r
+}
\ No newline at end of file