projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
http://ftp.x.org/contrib/applications/xscreensaver-2.23.tar.gz
[xscreensaver]
/
hacks
/
coral.c
diff --git
a/hacks/coral.c
b/hacks/coral.c
index eddde276d3bfb29ab93ea6bd68b0d8a6df51cca4..8ace44d2c1e6787baa00bdca88b0448b4facf269 100644
(file)
--- a/
hacks/coral.c
+++ b/
hacks/coral.c
@@
-11,8
+11,9
@@
#include "screenhack.h"
#include "colors.h"
#include "screenhack.h"
#include "colors.h"
+#include "erase.h"
-static GC draw_gc;
+static GC draw_gc
, erase_gc
;
static unsigned int default_fg_pixel;
#define NCOLORSMAX 200
static XColor colors[NCOLORSMAX];
static unsigned int default_fg_pixel;
#define NCOLORSMAX 200
static XColor colors[NCOLORSMAX];
@@
-55,8
+56,17
@@
init_coral(Display *dpy, Window window)
}
gcv.foreground = default_fg_pixel = get_pixel_resource("foreground", "Foreground", dpy, cmap);
draw_gc = XCreateGC(dpy, window, GCForeground, &gcv);
}
gcv.foreground = default_fg_pixel = 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);
ncolors = NCOLORSMAX;
make_uniform_colormap(dpy, xgwa.visual, cmap, colors, &ncolors, True, &writeable, False);
ncolors = NCOLORSMAX;
make_uniform_colormap(dpy, xgwa.visual, cmap, colors, &ncolors, True, &writeable, False);
+ if (ncolors <= 0) {
+ ncolors = 2;
+ colors[0].red = colors[0].green = colors[0].blue = 0;
+ colors[1].red = colors[1].green = colors[1].blue = 0xFFFF;
+ XAllocColor(dpy, cmap, &colors[0]);
+ XAllocColor(dpy, cmap, &colors[1]);
+ }
colorindex = random()%ncolors;
density = get_integer_resource("density", "Integer");
colorindex = random()%ncolors;
density = get_integer_resource("density", "Integer");
@@
-215,13
+225,13
@@
coral(Display *dpy, Window window)
char *progclass = "Coral";
char *defaults[] = {
char *progclass = "Coral";
char *defaults[] = {
-
"Coral.background:
black",
-
"Coral.foreground:
white",
-
"*density:
25",
-
"*seeds:
20", /* too many for 640x480, too few for 1280x1024 */
-
"*delay:
5",
-
"*delay2:
1000",
-
0
+
".background:
black",
+
".foreground:
white",
+
"*density:
25",
+
"*seeds:
20", /* too many for 640x480, too few for 1280x1024 */
+
"*delay:
5",
+
"*delay2:
1000",
+ 0
};
XrmOptionDescRec options[] = {
};
XrmOptionDescRec options[] = {
@@
-238,10
+248,10
@@
Display *dpy;
Window window;
{
int delay = get_integer_resource ("delay", "Integer");
Window window;
{
int delay = get_integer_resource ("delay", "Integer");
-
while( 1 ) {
init_coral(dpy, window);
coral(dpy, window);
if( delay ) sleep(delay);
while( 1 ) {
init_coral(dpy, window);
coral(dpy, window);
if( delay ) sleep(delay);
+ erase_full_window(dpy, window);
}
}
}
}