"*fpsSolid: true \n" \
# include "xlockmore.h" /* from the xscreensaver distribution */
-# define refresh_trees 0
+# define free_trees 0
+# define release_trees 0
# define reshape_trees 0
# define trees_handle_event 0
#else /* !STANDALONE */
ENTRYPOINT void
init_trees(ModeInfo * mi)
{
- unsigned long pixels[20];
treestruct *tree;
Display *display = MI_DISPLAY(mi);
GC gc = MI_GC(mi);
int i;
if (trees == NULL) {
- trees = (treestruct *) calloc(MI_NUM_SCREENS(mi), sizeof (treestruct));
- if (trees == NULL) {
- return;
- }
if (mi->npixels > 20) {
printf("%d colors selected. Setting limit to 20...\n", mi->npixels);
XSetForeground(display, gc, colors[1].pixel);
}
+ MI_INIT (mi, trees);
+
XClearWindow(display, MI_WINDOW(mi));
XSetLineAttributes(display, gc, 2, LineSolid, CapButt, JoinMiter);
tree = &trees[MI_SCREEN(mi)];
colors[i].flags = DoRed | DoGreen | DoBlue;
}
- for (i = 0; i < color; i++)
- pixels[i] = colors[i].pixel;
-
- XFreeColors(display, mi->xgwa.colormap, pixels, mi->npixels, 0L);
-
- for (i = 0; i < mi->npixels; i++)
+ for (i = 0; i < mi->npixels; i++)
if (!XAllocColor(display, mi->xgwa.colormap, &colors[i])) break;
color = i;
}
-ENTRYPOINT void
-release_trees(ModeInfo * mi)
-{
- if (trees != NULL) {
- (void) free((void *) trees);
- trees = NULL;
- }
-}
-
XSCREENSAVER_MODULE_2 ("Forest", forest, trees)