X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fgreynetic.c;h=0ffb332a4e2d75c6fd3dc46e3c5a2fab20080728;hb=0bd2eabab3e404c6769fe8f59b639275e960c415;hp=4dd3f172b608578507d2bff2d0dd72f5b67e5f0c;hpb=ccbc9f87eb59497b23bd0424ee1ed20ad7c7db54;p=xscreensaver diff --git a/hacks/greynetic.c b/hacks/greynetic.c index 4dd3f172..0ffb332a 100644 --- a/hacks/greynetic.c +++ b/hacks/greynetic.c @@ -1,4 +1,5 @@ -/* xscreensaver, Copyright (c) 1992, 1995 Jamie Zawinski +/* xscreensaver, Copyright (c) 1992, 1995, 1996, 1997 + * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -13,18 +14,33 @@ #define NBITS 12 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#ifndef VMS +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#else /* VMS */ +# include "sys$common:[decw$include.bitmaps]stipple.xbm" +# include "sys$common:[decw$include.bitmaps]cross_weave.xbm" +# include "sys$common:[decw$include.bitmaps]dimple1.xbm" +# include "sys$common:[decw$include.bitmaps]dimple3.xbm" +# include "sys$common:[decw$include.bitmaps]flipped_gray.xbm" +# include "sys$common:[decw$include.bitmaps]gray1.xbm" +# include "sys$common:[decw$include.bitmaps]gray3.xbm" +# include "sys$common:[decw$include.bitmaps]hlines2.xbm" +# include "sys$common:[decw$include.bitmaps]light_gray.xbm" +# include "sys$common:[decw$include.bitmaps]root_weave.xbm" +# include "sys$common:[decw$include.bitmaps]vlines2.xbm" +# include "sys$common:[decw$include.bitmaps]vlines3.xbm" +#endif /* VMS */ static Pixmap pixmaps [NBITS]; static GC gc; @@ -33,9 +49,7 @@ static unsigned long fg, bg, pixels [512]; static int npixels; static void -init_greynetic (dpy, window) - Display *dpy; - Window window; +init_greynetic (Display *dpy, Window window) { int i; XGCValues gcv; @@ -71,9 +85,7 @@ init_greynetic (dpy, window) } static void -greynetic (dpy, window) - Display *dpy; - Window window; +greynetic (Display *dpy, Window window) { static int tick = 500, xlim, ylim; static Colormap cmap; @@ -100,6 +112,7 @@ greynetic (dpy, window) gcv.stipple = pixmaps [random () % NBITS]; if (mono_p) { + MONO: if (random () & 1) gcv.foreground = fg, gcv.background = bg; else @@ -127,6 +140,11 @@ greynetic (dpy, window) gcv.background = bgc.pixel; goto DONE; REUSE: + if (npixels <= 0) + { + mono_p = 1; + goto MONO; + } gcv.foreground = pixels [random () % npixels]; gcv.background = pixels [random () % npixels]; DONE: @@ -141,21 +159,19 @@ greynetic (dpy, window) char *progclass = "Greynetic"; char *defaults [] = { - "Greynetic.background: black", /* to placate SGI */ - "Greynetic.foreground: white", + ".background: black", + ".foreground: white", "*delay: 0", 0 }; XrmOptionDescRec options [] = { - { "-delay", ".delay", XrmoptionSepArg, 0 } + { "-delay", ".delay", XrmoptionSepArg, 0 }, + { 0, 0, 0, 0 } }; -int options_size = (sizeof (options) / sizeof (options[0])); void -screenhack (dpy, window) - Display *dpy; - Window window; +screenhack (Display *dpy, Window window) { init_greynetic (dpy, window); while (1)