- "*atomFont: -*-times-bold-r-normal-*-240-*\n" \
- "*titleFont: -*-times-bold-r-normal-*-180-*\n" \
+ "*atomFont: -*-helvetica-medium-r-normal-*-180-*\n" \
+ "*atomFont2: -*-helvetica-bold-r-normal-*-80-*\n" \
+ "*titleFont: -*-helvetica-medium-r-normal-*-180-*\n" \
#define DEF_BBOX "False"
#define DEF_SHELL_ALPHA "0.3"
#define DEF_MOLECULE "(default)"
#define DEF_VERBOSE "False"
#define DEF_BBOX "False"
#define DEF_SHELL_ALPHA "0.3"
#define DEF_MOLECULE "(default)"
#define DEF_VERBOSE "False"
- { "H", 1.17, 0.40, "#FFFFFF", "#B3B3B3", { 0, }},
+ { "H", 1.17, 0.40, "#FFFFFF", "#000000", { 0, }},
{ "C", 1.75, 0.58, "#999999", "#FFFFFF", { 0, }},
{ "CA", 1.80, 0.60, "#0000FF", "#ADD8E6", { 0, }},
{ "C", 1.75, 0.58, "#999999", "#FFFFFF", { 0, }},
{ "CA", 1.80, 0.60, "#0000FF", "#ADD8E6", { 0, }},
- { "N", 1.55, 0.52, "#A2B5CD", "#836FFF", { 0, }},
+ { "N", 1.55, 0.52, "#A2B5CD", "#EE99FF", { 0, }},
{ "O", 1.40, 0.47, "#FF0000", "#FFB6C1", { 0, }},
{ "P", 1.28, 0.43, "#9370DB", "#DB7093", { 0, }},
{ "S", 1.80, 0.60, "#8B8B00", "#FFFF00", { 0, }},
{ "O", 1.40, 0.47, "#FF0000", "#FFB6C1", { 0, }},
{ "P", 1.28, 0.43, "#9370DB", "#DB7093", { 0, }},
{ "S", 1.80, 0.60, "#8B8B00", "#FFFF00", { 0, }},
- XFontStruct *xfont1, *xfont2;
- GLuint font1_dlist, font2_dlist;
+ XFontStruct *xfont1, *xfont2, *xfont3;
+ GLuint font1_dlist, font2_dlist, font3_dlist;
{&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
{&do_atoms, "atoms", "Atoms", DEF_ATOMS, t_Bool},
{&do_bonds, "bonds", "Bonds", DEF_BONDS, t_Bool},
{&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
{&do_atoms, "atoms", "Atoms", DEF_ATOMS, t_Bool},
{&do_bonds, "bonds", "Bonds", DEF_BONDS, t_Bool},
- {&do_shells, "eshells", "EShells", DEF_SHELLS, t_Bool},
+ {&do_shells, "eshells", "EShells", DEF_ESHELLS, t_Bool},
{&do_labels, "labels", "Labels", DEF_LABELS, t_Bool},
{&do_titles, "titles", "Titles", DEF_TITLES, t_Bool},
{&do_bbox, "bbox", "BBox", DEF_BBOX, t_Bool},
{&do_labels, "labels", "Labels", DEF_LABELS, t_Bool},
{&do_titles, "titles", "Titles", DEF_TITLES, t_Bool},
{&do_bbox, "bbox", "BBox", DEF_BBOX, t_Bool},
{
molecule_configuration *mc = &mcs[MI_SCREEN(mi)];
load_font (mi->dpy, "atomFont", &mc->xfont1, &mc->font1_dlist);
{
molecule_configuration *mc = &mcs[MI_SCREEN(mi)];
load_font (mi->dpy, "atomFont", &mc->xfont1, &mc->font1_dlist);
- load_font (mi->dpy, "titleFont", &mc->xfont2, &mc->font2_dlist);
+ load_font (mi->dpy, "atomFont2", &mc->xfont2, &mc->font2_dlist);
+ load_font (mi->dpy, "titleFont", &mc->xfont3, &mc->font3_dlist);
+ /* If we're not drawing atoms, and the color is black, use white instead.
+ This is a kludge so that H can have black text over its white ball,
+ but the text still shows up if balls are off.
+ */
+ if (font_p && !do_atoms &&
+ gl_color[0] == 0 && gl_color[1] == 0 && gl_color[2] == 0)
+ {
+ gl_color[0] = gl_color[1] = gl_color[2] = 1;
+ }
+
if (font_p)
glColor4f (gl_color[0], gl_color[1], gl_color[2], gl_color[3]);
else
if (font_p)
glColor4f (gl_color[0], gl_color[1], gl_color[2], gl_color[3]);
else
char *name = (char *) calloc (1, 4);
GLfloat x = -999, y = -999, z = -999;
if (1 != sscanf (s+7, " %d ", &id))
parse_error (filename, line, s);
char *name = (char *) calloc (1, 4);
GLfloat x = -999, y = -999, z = -999;
if (1 != sscanf (s+7, " %d ", &id))
parse_error (filename, line, s);
+
+ /* But prefer the "element" field. */
+ if (L > 77 && !isspace(s[77])) {
+ /* fprintf(stderr, " \"%s\" -> ", name); */
+ name[0] = s[76];
+ name[1] = s[77];
+ name[2] = 0;
+ /* fprintf(stderr, "\"%s\"\n", name); */
+ }
+
while (isspace(*name)) name++;
ss = name + strlen(name)-1;
while (isspace(*ss) && ss > name)
while (isspace(*name)) name++;
ss = name + strlen(name)-1;
while (isspace(*ss) && ss > name)
- print_gl_string (mi->dpy, mc->xfont2, mc->font2_dlist,
+ print_gl_string (mi->dpy, mc->xfont3, mc->font3_dlist,
mi->xgwa.width, mi->xgwa.height,
10, mi->xgwa.height - 10,
mi->xgwa.width, mi->xgwa.height,
10, mi->xgwa.height - 10,
{
gltrackball_mousewheel (mc->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
{
gltrackball_mousewheel (mc->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
molecule_configuration *mc = &mcs[MI_SCREEN(mi)];
int wire = MI_IS_WIREFRAME(mi);
molecule *m = &mc->molecules[mc->which];
molecule_configuration *mc = &mcs[MI_SCREEN(mi)];
int wire = MI_IS_WIREFRAME(mi);
molecule *m = &mc->molecules[mc->which];
/* Before drawing the string, shift the origin to center
the text over the origin of the sphere. */
glBitmap (0, 0, 0, 0,
/* Before drawing the string, shift the origin to center
the text over the origin of the sphere. */
glBitmap (0, 0, 0, 0,
if (do_titles && m->label && *m->label)
{
set_atom_color (mi, 0, True, 1);
if (do_titles && m->label && *m->label)
{
set_atom_color (mi, 0, True, 1);
- print_gl_string (mi->dpy, mc->xfont2, mc->font2_dlist,
+ print_gl_string (mi->dpy, mc->xfont3, mc->font3_dlist,
mi->xgwa.width, mi->xgwa.height,
10, mi->xgwa.height - 10,
mi->xgwa.width, mi->xgwa.height,
10, mi->xgwa.height - 10,