From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / hacks / glx / gltrackball.c
index f3e02fd34f10d741682dc857b48bfe911b5d6ff9..71775f15a3bca931e3107ed97eca8ce49585b82f 100644 (file)
 
 #ifdef HAVE_COCOA
 # include "jwxyz.h"
-#else  /* !HAVE_COCOA -- real X11 */
+#elif defined(HAVE_ANDROID)
+# include "jwxyz.h"
+# include <GLES/gl.h>
+#else  /* real X11 */
 # include <X11/X.h>
 # include <X11/Xlib.h>
 # include <GL/gl.h>
@@ -39,7 +42,7 @@
 #include "gltrackball.h"
 
 /* Bah, copied from ../fps.h */
-#ifdef USE_IPHONE
+#ifdef HAVE_MOBILE
   extern double current_device_rotation (void);
 #else
 # define current_device_rotation() (0)
@@ -73,7 +76,11 @@ gltrackball_init (int ignore_device_rotation_p)
 void
 gltrackball_reset (trackball_state *ts)
 {
+  int bd = ts->button_down_p;
+  int ig = ts->ignore_device_rotation_p;
   memset (ts, 0, sizeof(*ts));
+  ts->button_down_p = bd;
+  ts->ignore_device_rotation_p = ig;
   trackball (ts->q, 0, 0, 0, 0);
 }
 
@@ -234,7 +241,7 @@ gltrackball_mousewheel (trackball_state *ts,
   int horizontal_p;
   int mx, my, move, scale;
 
-#ifdef HAVE_COCOA
+#ifdef HAVE_JWXYZ
   flip_p = 0;      /* MacOS has already handled this. */
 #endif