-/* xscreensaver, Copyright (c) 1991-1994 Jamie Zawinski <jwz@mcom.com>
+/* xscreensaver, Copyright (c) 1991-1994 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
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)
{
int w, h, ww, hh, x, y;
time_t start_time;
- XWindowAttributes xgwa;
XGetWindowAttributes (dpy, window, &xgwa);
w = xgwa.width;
h = xgwa.height;
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);
+ XSync (dpy, False);
+ screenhack_handle_events (dpy);
start_time = time ((time_t *) 0);
if (mono_p)
sleep (delay);
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))
{