From http://www.jwz.org/xscreensaver/xscreensaver-5.18.tar.gz
[xscreensaver] / hacks / distort.c
index 1653f24d9807220bb8a4fc360bdd6da27cd49208..92cc0de32b7e801369ff93b5916e32cb084fcc11 100644 (file)
@@ -1,5 +1,5 @@
 /* -*- mode: C; tab-width: 4 -*-
- * xscreensaver, Copyright (c) 1992-2006 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -781,6 +781,12 @@ static void
 distort_reshape (Display *dpy, Window window, void *closure, 
                  unsigned int w, unsigned int h)
 {
+  struct state *st = (struct state *) closure;
+  XGetWindowAttributes (st->dpy, st->window, &st->xgwa);
+  /* XClearWindow (dpy, window); */
+  /* Why doesn't this work? */
+  XPutImage (st->dpy, st->window, st->gc, st->orig_map,
+             0, 0, st->orig_map->width, st->orig_map->height, 0, 0);
 }
 
 static Bool
@@ -808,6 +814,7 @@ distort_free (Display *dpy, Window window, void *closure)
 static const char *distort_defaults [] = {
        "*dontClearRoot:                True",
        "*background:                   Black",
+    "*fpsSolid:                                true",
 #ifdef __sgi    /* really, HAVE_READ_DISPLAY_EXTENSION */
        "*visualID:                     Best",
 #endif