/* xscreensaver, Copyright (c) 1992, 1995, 1996, 1997
- * Jamie Zawinski <jwz@netscape.com>
+ * 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
static double sins [360];
static double coss [360];
-static GC draw_gc, erase_gc;
+static GC draw_gc;
static unsigned int default_fg_pixel;
-static int erase_speed, sleep_time, erase_mode;
-
-void erase_window (Display *dpy, Window win, GC gc, int width, int height,
- int mode, int delay);
+static int sleep_time;
static void
init_helix (Display *dpy, Window window)
get_pixel_resource ("foreground", "Foreground", dpy, cmap);
draw_gc = XCreateGC (dpy, window, GCForeground, &gcv);
gcv.foreground = get_pixel_resource ("background", "Background", dpy, cmap);
- erase_gc = XCreateGC (dpy, window, GCForeground, &gcv);
for (i = 0; i < 360; i++)
{
static void
random_helix_or_trig (Display *dpy, Window window)
{
- int i;
Bool free_color = False;
XColor color;
int width, height;
else
random_trig(dpy, window, &color, &free_color);
- XSync (dpy, True);
+ XSync (dpy, False);
+ screenhack_handle_events (dpy);
sleep ( sleep_time );
- erase_window(dpy, window, erase_gc, width, height, erase_mode, erase_speed);
+ screenhack_handle_events (dpy);
+ erase_full_window(dpy, window);
if (free_color) XFreeColors (dpy, cmap, &color.pixel, 1, 0);
- XSync (dpy, True);
+ XSync (dpy, False);
+ screenhack_handle_events (dpy);
sleep (1);
}
char *progclass = "Helix";
char *defaults [] = {
- "Helix.background: black", /* to placate SGI */
- "Helix.eraseSpeed: 400",
- "Helix.delay: 5",
- "Helix.eraseMode: -1",
+ ".background: black",
+ "*delay: 5",
0
};
XrmOptionDescRec options [] = {
- { "-erase-speed", ".eraseSpeed", XrmoptionSepArg, 0 },
{ "-delay", ".delay", XrmoptionSepArg, 0 },
- { "-erase-mode", ".eraseMode", XrmoptionSepArg, 0 },
{ 0 },
};
int options_size = (sizeof (options) / sizeof (options[0]));
void
screenhack (Display *dpy, Window window)
{
- erase_speed = get_integer_resource("eraseSpeed", "Integer");
sleep_time = get_integer_resource("delay", "Integer");
- erase_mode = get_integer_resource("eraseMode", "Integer");
init_helix (dpy, window);
while (1)
random_helix_or_trig (dpy, window);