X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fgreynetic.c;h=4a17ba36f114d7f6bd1b0bafc7a8929511f84cce;hb=c28aecf9fc41e3a03494bacf7279745425e2fa18;hp=c3f5fbaf0c22b322ba14d9bcadb0ff29c0f729ba;hpb=f3e0240915ed9f9b3a61781f5c7002d587563fe0;p=xscreensaver diff --git a/hacks/greynetic.c b/hacks/greynetic.c index c3f5fbaf..4a17ba36 100644 --- a/hacks/greynetic.c +++ b/hacks/greynetic.c @@ -1,5 +1,5 @@ -/* xscreensaver, Copyright (c) 1992, 1995, 1996, 1997 - * Jamie Zawinski +/* xscreensaver, Copyright (c) 1992, 1995, 1996, 1997, 1998 + * 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 @@ -14,33 +14,75 @@ #define NBITS 12 -#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 */ +/* On some systems (notably MacOS X) these files are messed up. + * They're tiny, so we might as well just inline them here. + * + * # include + * # include + * # include + * # include + * # include + * # include + * # include + * # include + * # include + * # include + * # include + * # include +*/ + +#define stipple_width 16 +#define stipple_height 4 +static char stipple_bits[] = { 0x55, 0x55, 0xee, 0xee, 0x55, 0x55, 0xba, 0xbb}; + +#define cross_weave_width 16 +#define cross_weave_height 16 +static char cross_weave_bits[] = { + 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22, 0x55, 0x55, 0x88, 0x88, + 0x55, 0x55, 0x22, 0x22, 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22, + 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22}; + +#define dimple1_width 16 +#define dimple1_height 16 +static char dimple1_bits[] = { + 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, + 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, + 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00}; + +#define dimple3_width 16 +#define dimple3_height 16 +static char dimple3_bits[] = { + 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +#define flipped_gray_width 4 +#define flipped_gray_height 2 +static char flipped_gray_bits[] = { 0x07, 0x0d}; +#define gray1_width 2 +#define gray1_height 2 +static char gray1_bits[] = { 0x01, 0x02}; +#define gray3_width 4 +#define gray3_height 4 +static char gray3_bits[] = { 0x01, 0x00, 0x04, 0x00}; +#define hlines2_width 1 +#define hlines2_height 2 +static char hlines2_bits[] = { 0x01, 0x00}; +#define light_gray_width 4 +#define light_gray_height 2 +static char light_gray_bits[] = { 0x08, 0x02}; +#define root_weave_width 4 +#define root_weave_height 4 +static char root_weave_bits[] = { 0x07, 0x0d, 0x0b, 0x0e}; +#define vlines2_width 2 +#define vlines2_height 1 +static char vlines2_bits[] = { 0x01}; +#define vlines3_width 3 +#define vlines3_height 1 +static char vlines3_bits[] = { 0x02}; + + + static Pixmap pixmaps [NBITS]; static GC gc; @@ -89,7 +131,7 @@ greynetic (Display *dpy, Window window) { static int tick = 500, xlim, ylim; static Colormap cmap; - int x, y, w, h, i; + int x, y, w=0, h=0, i; XGCValues gcv; if (tick++ == 500) { @@ -152,16 +194,16 @@ greynetic (Display *dpy, Window window) } XChangeGC (dpy, gc, GCStipple|GCForeground|GCBackground, &gcv); XFillRectangle (dpy, window, gc, x, y, w, h); - XSync (dpy, True); + XSync (dpy, False); } char *progclass = "Greynetic"; char *defaults [] = { - "Greynetic.background: black", /* to placate SGI */ - "Greynetic.foreground: white", - "*delay: 0", + ".background: black", + ".foreground: white", + "*delay: 10000", 0 }; @@ -177,6 +219,7 @@ screenhack (Display *dpy, Window window) while (1) { greynetic (dpy, window); + screenhack_handle_events (dpy); if (delay) usleep (delay); } }