From http://www.jwz.org/xscreensaver/xscreensaver-5.22.tar.gz
[xscreensaver] / hacks / strange.c
index 8343d010aee498c7eb88e9a8ad186ab5fcb1a81a..632d347a49c14af1d93fad503796a160272c9c76 100644 (file)
@@ -38,11 +38,11 @@ static const char sccsid[] = "@(#)strange.c 5.00 2000/11/01 xlockmore";
 # define MODE_strange
 # define DEFAULTS      "*delay: 10000 \n" \
                                        "*ncolors: 100 \n" \
-                                       "*fpsSolid: True \n"
+                                       "*fpsSolid: True \n" \
+                                       "*ignoreRotation: True \n" \
 
 # define SMOOTH_COLORS
 # define refresh_strange 0
-# define reshape_strange 0
 # define strange_handle_event 0
 # include "xlockmore.h"                /* from the xscreensaver distribution */
 #else /* !STANDALONE */
@@ -142,7 +142,7 @@ typedef struct _ATTRACTOR {
 static ATTRACTOR *Root = (ATTRACTOR *) NULL; 
 
 #ifdef useAccumulator
-XColor* cols;
+static XColor* cols;
 #endif
 
 #ifdef POINTS_HISTORY
@@ -487,6 +487,7 @@ draw_strange(ModeInfo * mi)
                A->Count = 0;
        }
        A->Col++;
+    mi->recursion_depth = A->Count;
 }
 
 
@@ -662,6 +663,13 @@ init_strange(ModeInfo * mi)
        XSetGraphicsExposures(display, MI_GC(mi), False);
 }
 
+ENTRYPOINT void
+reshape_strange(ModeInfo * mi, int width, int height)
+{
+  XClearWindow (MI_DISPLAY (mi), MI_WINDOW(mi));
+  init_strange (mi);
+}
+
 /***************************************************************/
 
 ENTRYPOINT void