From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / hacks / tessellimage.c
index b930622093a04acad585260bd4e2602ae7c80696..d361eb3fb4f4944d1c0dea114b7d3a6f16ae7cb1 100644 (file)
@@ -15,7 +15,7 @@
 #undef DO_VORONOI
 
 
-#ifndef HAVE_COCOA
+#ifndef HAVE_JWXYZ
 # define XK_MISCELLANY
 # include <X11/keysymdef.h>
 #endif
@@ -67,13 +67,11 @@ static void *
 tessellimage_init (Display *dpy, Window window)
 {
   struct state *st = (struct state *) calloc (1, sizeof(*st));
-  Colormap cmap;
 
   st->dpy = dpy;
   st->window = window;
 
   XGetWindowAttributes (st->dpy, st->window, &st->xgwa);
-  cmap = st->xgwa.colormap;
 
   st->delay = get_integer_resource (st->dpy, "delay", "Integer");
   if (st->delay < 1) st->delay = 1;
@@ -543,6 +541,9 @@ tessellate (struct state *st)
       st->pgc = XCreateGC(st->dpy, st->image, GCFunction, &gcv);
     }
 
+  if (! st->nthreshes) return;
+
+
   /* If duration2 has expired, switch to the next threshold. */
 
   if (! st->button_down_p)
@@ -856,6 +857,14 @@ tessellimage_draw (Display *dpy, Window window, void *closure)
                0, 0, st->delta->width, st->delta->height, 
                (st->xgwa.width  - st->delta->width)  / 2,
                (st->xgwa.height - st->delta->height) / 2);
+  else if (!st->nthreshes)
+    XCopyArea (st->dpy,
+               st->image,
+               st->window, st->wgc,
+               0, 0, st->xgwa.width, st->xgwa.height,
+               0,
+               0);
+
 
  DONE:
   return st->delay;
@@ -921,7 +930,7 @@ static const char *tessellimage_defaults [] = {
   "*outline:                   True",
   "*fillScreen:                        True",
   "*cache:                     True",
-#ifdef USE_IPHONE
+#ifdef HAVE_MOBILE
   "*ignoreRotation:             True",
   "*rotateImages:               True",
 #endif