-/* xscreensaver, Copyright (c) 1992, 1995, 1996, 1997
- * Jamie Zawinski <jwz@netscape.com>
+/* xscreensaver, Copyright (c) 1992, 1995, 1996, 1997, 1998
+ * 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 int count;
static Colormap cmap;
static int npoly;
+static Bool additive_p;
+static Bool cmap_p;
+
static GC *gcs[2];
gcv.foreground = default_fg_pixel =
get_pixel_resource ("foreground", "Foreground", dpy, cmap);
+ additive_p = get_boolean_resource ("additive", "Boolean");
+ cmap_p = has_writable_cells (xgwa.screen, xgwa.visual);
+
if (transparent_p)
{
- Bool additive_p = get_boolean_resource ("additive", "Boolean");
unsigned long *plane_masks = 0;
unsigned long base_pixel;
int nplanes = count;
int i;
- allocate_alpha_colors (dpy, cmap, &nplanes, additive_p, &plane_masks,
+ allocate_alpha_colors (xgwa.screen, xgwa.visual, cmap,
+ &nplanes, additive_p, &plane_masks,
&base_pixel);
if (nplanes <= 1)
{
gcv.plane_mask = plane_masks [i];
gcv.foreground = ~0;
+
+/* argh, I'm not sure how to make "-subtractive" work in truecolor...
+ if (!cmap_p && !additive_p)
+ gcv.function = GXclear;
+ */
+
if (xor_p)
{
gcv.function = GXxor;
char *progclass = "Qix";
char *defaults [] = {
- "Qix.background: black", /* to placate SGI */
- "Qix.foreground: white",
+ ".background: black",
+ ".foreground: white",
"*count: 1",
"*segments: 50",
"*poly: 2",
for (qn = q1; *qn; qn++)
{
qix1 (dpy, window, *qn);
- XSync (dpy, True);
+ XSync (dpy, False);
+ screenhack_handle_events (dpy);
if (delay) usleep (delay);
}
}