X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fxroger-hack.c;h=0138c64aee496652caff416c9c4296dd8ab11957;hb=0bd2eabab3e404c6769fe8f59b639275e960c415;hp=72bd2d3c76283cf9f12ee202733818ea637d8a2f;hpb=65740e2a8dea3d6309ae6e8914a0fb79e993ada8;p=xscreensaver diff --git a/hacks/xroger-hack.c b/hacks/xroger-hack.c old mode 100755 new mode 100644 index 72bd2d3c..0138c64a --- a/hacks/xroger-hack.c +++ b/hacks/xroger-hack.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1991-1994 Jamie Zawinski +/* xscreensaver, Copyright (c) 1991-1994 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,20 +14,18 @@ char *progclass = "XRoger"; char *defaults [] = { - "XRoger.background: black", - "XRoger.foreground: red", + ".background: black", + ".foreground: red", "*delay: 5", 0 }; XrmOptionDescRec options [] = { - { "-delay", ".delay", XrmoptionSepArg, 0 } + { "-delay", ".delay", XrmoptionSepArg, 0 }, + { 0, 0, 0, 0 } }; -int options_size = (sizeof (options) / sizeof (options[0])); -#if __STDC__ extern void skull (Display *, Window, GC, GC, int, int, int, int); -#endif void screenhack (dpy, window) @@ -59,7 +57,6 @@ screenhack (dpy, window) { int w, h, ww, hh, x, y; time_t start_time; - XWindowAttributes xgwa; XGetWindowAttributes (dpy, window, &xgwa); w = xgwa.width; h = xgwa.height; @@ -73,6 +70,8 @@ screenhack (dpy, window) x = random () % (w - ww); y = random () % (h - hh); XClearWindow (dpy, window); + + skull (dpy, window, draw_gc, erase_gc, x, y, ww, hh); XSync (dpy, True); start_time = time ((time_t *) 0); @@ -81,14 +80,14 @@ screenhack (dpy, window) else while (start_time + delay > time ((time_t *) 0)) { - int h; - double s, v; + int H; + double S, V; color2 = color; - rgb_to_hsv (color2.red, color2.green, color2.blue, &h, &s, &v); - v += delta; - if (v >= 1.0) v = 1.0, delta = -delta; - if (v <= 0.7) v = 0.7, delta = -delta; - hsv_to_rgb (h, s, v, &color2.red, &color2.green, &color2.blue); + rgb_to_hsv (color2.red, color2.green, color2.blue, &H, &S, &V); + V += delta; + if (V >= 1.0) V = 1.0, delta = -delta; + if (V <= 0.6) V = 0.7, delta = -delta; + hsv_to_rgb (H, S, V, &color2.red, &color2.green, &color2.blue); color3 = color2; if (XAllocColor (dpy, cmap, &color3)) {