X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fifs.c;h=ad8af952139d2704a5ae5e3130ea9ad2df2c5a30;hb=39809ded547bdbb08207d3e514950425215b4410;hp=099b0d1c8c265282c2162ab0bffeaba0374e419f;hpb=c1b9b55ad8d59dc05ef55e316aebf5863e7dfa56;p=xscreensaver diff --git a/hacks/ifs.c b/hacks/ifs.c index 099b0d1c..ad8af952 100644 --- a/hacks/ifs.c +++ b/hacks/ifs.c @@ -1,4 +1,4 @@ -/* Copyright © Chris Le Sueur and Robby Griffin, 2005-2006 +/* Copyright © Chris Le Sueur and Robby Griffin, 2005-2006 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -90,6 +90,7 @@ myrandom(float up) } static const char *ifs_defaults [] = { + ".lowrez: true", ".background: Black", "*lensnum: 3", "*fpsSolid: true", @@ -102,10 +103,13 @@ static const char *ifs_defaults [] = { "*rotate: True", "*recurse: False", "*multi: True", -# ifdef HAVE_COCOA /* Don't second-guess Quartz's double-buffering */ +# ifdef HAVE_JWXYZ /* Don't second-guess Quartz's double-buffering */ "*doubleBuffer: False", #else "*doubleBuffer: True", +#endif +#ifdef HAVE_MOBILE + "*ignoreRotation: True", #endif 0 }; @@ -433,9 +437,10 @@ ifs_init (Display *d_arg, Window w_arg) if (st->ncolours < st->lensnum) st->ncolours = st->lensnum; if (st->colours) free(st->colours); + if (st->ncolours < 1) st->ncolours = 1; st->colours = (XColor *)calloc(st->ncolours, sizeof(XColor)); if (!st->colours) exit(1); - make_smooth_colormap (st->dpy, xgwa.visual, xgwa.colormap, + make_smooth_colormap (xgwa.screen, xgwa.visual, xgwa.colormap, st->colours, &st->ncolours, True, 0, False); @@ -513,6 +518,20 @@ ifs_reshape (Display *dpy, Window window, void *closure, static Bool ifs_event (Display *dpy, Window window, void *closure, XEvent *event) { + struct state *st = (struct state *)closure; + if (screenhack_event_helper (dpy, window, event)) + { + int i; + for (i = 0; i < st->lensnum; i++) { + CreateLens(st, + myrandom(1)-0.5, + myrandom(1), + myrandom(4)-2, + myrandom(4)+2, + &st->lenses[i]); + } + return True; + } return False; }