From http://www.jwz.org/xscreensaver/xscreensaver-5.22.tar.gz
[xscreensaver] / hacks / interaggregate.c
index 441bd8465ca67d336f7e96d9632bf6204a74c1e0..35879f9c3b2109c64bc37598f4cc909733960361 100644 (file)
@@ -73,6 +73,7 @@ static const char *interaggregate_defaults[] =
 {
     ".background: white",
     ".foreground: black",
+    "*fpsSolid:        true",
     "*maxCycles: 100000",
 #ifdef TIME_ME
     "*growthDelay: 0",
@@ -84,6 +85,9 @@ static const char *interaggregate_defaults[] =
     "*baseOrbits: 75",
     "*baseOnCenter: False",
     "*drawCenters: False",
+#ifdef USE_IPHONE
+    "*ignoreRotation: True",
+#endif
     0
 };
 
@@ -289,7 +293,6 @@ static inline unsigned long rgb2point(int depth, int r, int g, int b)
     switch(depth) 
     {
     case 32:
-       ret = 0xff000000;
     case 24:
 #ifdef HAVE_COCOA
         /* This program idiotically does not go through a color map, so
@@ -352,11 +355,11 @@ static inline void drawPoint(int x, int y, unsigned long color, double intensity
 {
     unsigned long c;
 
-    if ( x >= f->width ) x -= f->width;
-    else if ( x < 0 ) x += f->width;
+    while ( x >= f->width ) x -= f->width;
+    while ( x < 0 ) x += f->width;
        
-    if ( y >= f->height ) y -= f->height;
-    else if ( y < 0 ) y += f->height;
+    while ( y >= f->height ) y -= f->height;
+    while ( y < 0 ) y += f->height;
 
     /* if ( in_bounds(f, x, y) ) ... */
 
@@ -566,7 +569,7 @@ static void build_field(Display *dpy, Window window, XWindowAttributes xgwa, GC
        {
            if (i < base_orbits )
            {
-               if ( f->base_on_center )
+               if ( f->base_on_center )
                    circle->center = &f->center_of_universe; 
                else
                {
@@ -719,7 +722,9 @@ static void drawIntersections(Display *dpy, Window window, GC fgc, struct field
                double d, dsqr, dx, dy;
                Circle *c2 = f->circles + j;
 
+#ifdef TIME_ME
                ++f->possible_intersections;
+#endif
                dx = c2->x - c1->x;
                dy = c2->y - c1->y;
 
@@ -745,7 +750,9 @@ static void drawIntersections(Display *dpy, Window window, GC fgc, struct field
                     * intersection 
                     */
 
+#ifdef TIME_ME
                    ++f->intersection_count;
+#endif
 
                    /* unit vector in direction of c1 to c2 */
                    bx = dx / d;