From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / hacks / bumps.c
index 71754d14f6275e540fac45e1bafcc197249416dc..60de04a3c9ebb87957e3b782a4f1ed942cf2a284 100644 (file)
@@ -30,7 +30,8 @@
 
 
 #include <math.h>
-#include <stdint.h>
+#include <time.h>
+#include <inttypes.h>
 #include "screenhack.h"
 
 #ifdef HAVE_XSHM_EXTENSION
@@ -63,8 +64,9 @@ static const char *bumps_defaults [] = {
 #ifdef HAVE_XSHM_EXTENSION
   "*useSHM:            True",
 #endif /* HAVE_XSHM_EXTENSION */
-#ifdef USE_IPHONE
+#ifdef HAVE_MOBILE
   "*ignoreRotation: True",
+  "*rotateImages:   True",
 #endif
   0
 };
@@ -432,7 +434,7 @@ static void InitBumpMap_2(Display *dpy, SBumps *pBumps)
     XWindowAttributes XWinAttribs;
     XGetWindowAttributes( pBumps->dpy, pBumps->Win, &XWinAttribs );
 
-    pBumps->start_time = time ((time_t) 0);
+    pBumps->start_time = time ((time_t *) 0);
 
        pScreenImage = XGetImage( pBumps->dpy, pBumps->source, 0, 0, 
                               pBumps->iWinWidth, pBumps->iWinHeight,
@@ -665,7 +667,7 @@ bumps_init (Display *dpy, Window Win)
     Bumps->duration = get_integer_resource (dpy, "duration", "Seconds");
     if (Bumps->delay < 0) Bumps->delay = 0;
     if (Bumps->duration < 1) Bumps->duration = 1;
-    Bumps->start_time = time ((time_t) 0);
+    Bumps->start_time = time ((time_t *) 0);
     return Bumps;
 }
 
@@ -683,7 +685,7 @@ bumps_draw (Display *dpy, Window window, void *closure)
     }
 
   if (!Bumps->img_loader &&
-      Bumps->start_time + Bumps->duration < time ((time_t) 0)) {
+      Bumps->start_time + Bumps->duration < time ((time_t *) 0)) {
     Bumps->img_loader = load_image_async_simple (0, Bumps->screen,
                                                  Bumps->Win, Bumps->source, 
                                                  0, 0);
@@ -713,6 +715,13 @@ bumps_reshape (Display *dpy, Window window, void *closure,
 static Bool
 bumps_event (Display *dpy, Window window, void *closure, XEvent *event)
 {
+  SBumps *Bumps = (SBumps *) closure;
+  if (screenhack_event_helper (dpy, window, event))
+    {
+      Bumps->start_time = 0;
+      return True;
+    }
+
   return False;
 }