X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Finteraggregate.c;h=35879f9c3b2109c64bc37598f4cc909733960361;hb=4ade52359b6eba3621566dac79793a33aa4c915f;hp=441bd8465ca67d336f7e96d9632bf6204a74c1e0;hpb=49f5b54f312fe4ac2e9bc47581a72451bd0e8439;p=xscreensaver diff --git a/hacks/interaggregate.c b/hacks/interaggregate.c index 441bd846..35879f9c 100644 --- a/hacks/interaggregate.c +++ b/hacks/interaggregate.c @@ -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;