/* -*- Mode: C; tab-width: 4 -*- */
/* crystal --- polygons moving according to plane group rules */
-#if !defined( lint ) && !defined( SABER )
+#if 0
static const char sccsid[] = "@(#)crystal.c 4.12 98/09/10 xlockmore";
-
#endif
/*-
static XrmOptionDescRec opts[] =
{
- {"-nx", "crystal.nx", XrmoptionSepArg, (caddr_t) NULL},
- {"-ny", "crystal.ny", XrmoptionSepArg, (caddr_t) NULL},
- {"-centre", ".crystal.centre", XrmoptionNoArg, (caddr_t) "on"},
- {"+centre", ".crystal.centre", XrmoptionNoArg, (caddr_t) "off"},
- {"-maxsize", ".crystal.maxsize", XrmoptionNoArg, (caddr_t) "on"},
- {"+maxsize", ".crystal.maxsize", XrmoptionNoArg, (caddr_t) "off"},
- {"-cell", ".crystal.cell", XrmoptionNoArg, (caddr_t) "on"},
- {"+cell", ".crystal.cell", XrmoptionNoArg, (caddr_t) "off"},
- {"-grid", ".crystal.grid", XrmoptionNoArg, (caddr_t) "on"},
- {"+grid", ".crystal.grid", XrmoptionNoArg, (caddr_t) "off"},
- {"-shift", ".crystal.shift", XrmoptionNoArg, (caddr_t) "on"},
- {"+shift", ".crystal.shift", XrmoptionNoArg, (caddr_t) "off"}
+ {"-nx", "crystal.nx", XrmoptionSepArg, 0},
+ {"-ny", "crystal.ny", XrmoptionSepArg, 0},
+ {"-centre", ".crystal.centre", XrmoptionNoArg, "on"},
+ {"+centre", ".crystal.centre", XrmoptionNoArg, "off"},
+ {"-maxsize", ".crystal.maxsize", XrmoptionNoArg, "on"},
+ {"+maxsize", ".crystal.maxsize", XrmoptionNoArg, "off"},
+ {"-cell", ".crystal.cell", XrmoptionNoArg, "on"},
+ {"+cell", ".crystal.cell", XrmoptionNoArg, "off"},
+ {"-grid", ".crystal.grid", XrmoptionNoArg, "on"},
+ {"+grid", ".crystal.grid", XrmoptionNoArg, "off"},
+ {"-shift", ".crystal.shift", XrmoptionNoArg, "on"},
+ {"+shift", ".crystal.shift", XrmoptionNoArg, "off"}
};
static argtype vars[] =
{
- {(caddr_t *) & nx, "nx", "nx", DEF_NX, t_Int},
- {(caddr_t *) & ny, "ny", "ny", DEF_NY, t_Int},
- {(caddr_t *) & centre, "centre", "Centre", DEF_CENTRE, t_Bool},
- {(caddr_t *) & maxsize, "maxsize", "Maxsize", DEF_MAXSIZE, t_Bool},
- {(caddr_t *) & unit_cell, "cell", "Cell", DEF_CELL, t_Bool},
- {(caddr_t *) & grid_cell, "grid", "Grid", DEF_GRID, t_Bool},
- {(caddr_t *) & cycle_p, "shift", "Shift", DEF_CYCLE, t_Bool}
+ {&nx, "nx", "nx", DEF_NX, t_Int},
+ {&ny, "ny", "ny", DEF_NY, t_Int},
+ {¢re, "centre", "Centre", DEF_CENTRE, t_Bool},
+ {&maxsize, "maxsize", "Maxsize", DEF_MAXSIZE, t_Bool},
+ {&unit_cell, "cell", "Cell", DEF_CELL, t_Bool},
+ {&grid_cell, "grid", "Grid", DEF_GRID, t_Bool},
+ {&cycle_p, "shift", "Shift", DEF_CYCLE, t_Bool}
};
static OptionStruct desc[] =
{
crystalatom *atom0;
atom0 = &cryst->atom[i];
+
if (MI_IS_INSTALL(mi) && MI_NPIXELS(mi) > 2) {
XSetForeground(display, cryst->gc, cryst->colors[atom0->colour].pixel);
} else {
free_colors(display, cryst->cmap, cryst->colors, cryst->ncolors);
if (cryst->colors)
(void) free((void *) cryst->colors);
+#if 0 /* #### wrong! -jwz */
XFreeColormap(display, cryst->cmap);
+#endif
}
if (cryst->gc != NULL)
XFreeGC(display, cryst->gc);
#endif
cryst->blackpixel = MI_BLACK_PIXEL(mi);
cryst->whitepixel = MI_WHITE_PIXEL(mi);
+#if 0 /* #### wrong! -jwz */
cryst->cmap = XCreateColormap(display, window,
MI_VISUAL(mi), AllocNone);
XSetWindowColormap(display, window, cryst->cmap);
+#else
+ cryst->cmap = mi->xgwa.colormap;
+#endif
(void) XParseColor(display, cryst->cmap, "black", &color);
(void) XAllocColor(display, cryst->cmap, &color);
MI_BLACK_PIXEL(mi) = color.pixel;
make_smooth_colormap(MI_DISPLAY(mi), MI_VISUAL(mi), cryst->cmap, cryst->colors, &cryst->ncolors,
True, &cryst->cycle_p, True);
}
+#if 0 /* #### wrong! -jwz */
XInstallColormap(display, cryst->cmap);
+#endif
if (cryst->ncolors < 2) {
cryst->ncolors = 2;
cryst->no_colors = True;