XColor *colors;
int ccolor;
+# ifdef HAVE_GLBITMAP
XFontStruct *xfont1;
XFontStruct *xfont2;
XFontStruct *xfont3;
GLuint font1_dlist, font2_dlist, font3_dlist;
+# else
+ texture_font_data *font1_data, *font2_data, *font3_data;
+# endif
+
GLuint name_list;
GLfloat theta[3];
static void load_fonts(ModeInfo * mi)
{
tangram_configuration *tp = &tps[MI_SCREEN(mi)];
+# ifdef HAVE_GLBITMAP
load_font(mi->dpy, "titleFont", &tp->xfont1, &tp->font1_dlist);
load_font(mi->dpy, "titleFont2", &tp->xfont2, &tp->font2_dlist);
load_font(mi->dpy, "titleFont3", &tp->xfont3, &tp->font3_dlist);
+# else /* !HAVE_GLBITMAP */
+ tp->font1_data = load_texture_font (mi->dpy, "titleFont");
+ tp->font2_data = load_texture_font (mi->dpy, "titleFont2");
+ tp->font3_data = load_texture_font (mi->dpy, "titleFont3");
+# endif /* !HAVE_GLBITMAP */
}
static void draw_shapes(ModeInfo * mi)
&tp->tlg2, &tp->sq, &tp->rh);
get_solved_puzzle(mi, &tp->n_tsm1, &tp->n_tsm2, &tp->n_tm, &tp->n_tlg1,
&tp->n_tlg2, &tp->n_sq, &tp->n_rh);
- tp->tsm1.dl = get_sm_tri_dl(wire);
- tp->tsm2.dl = get_sm_tri_dl(wire);
- tp->tm.dl = get_md_tri_dl(wire);
- tp->tlg1.dl = get_lg_tri_dl(wire);
- tp->tlg2.dl = get_lg_tri_dl(wire);
- tp->sq.dl = get_square_dl(wire);
- tp->rh.dl = get_rhomboid_dl(wire);
+ tp->tsm1.dl = tangram_get_sm_tri_dl(wire);
+ tp->tsm2.dl = tangram_get_sm_tri_dl(wire);
+ tp->tm.dl = tangram_get_md_tri_dl(wire);
+ tp->tlg1.dl = tangram_get_lg_tri_dl(wire);
+ tp->tlg2.dl = tangram_get_lg_tri_dl(wire);
+ tp->sq.dl = tangram_get_square_dl(wire);
+ tp->rh.dl = tangram_get_rhomboid_dl(wire);
}
static void gl_init(ModeInfo * mi)
fprintf(stderr, "%s: out of memory\n", progname);
exit(1);
}
-
- tp = &tps[MI_SCREEN(mi)];
}
tp = &tps[MI_SCREEN(mi)];
gl_init(mi);
}
+ reshape_tangram (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+
wire = MI_IS_WIREFRAME(mi);
tp->name_list = glGenLists(1);
glLoadIdentity();
if (do_labels)
{
+# ifdef HAVE_GLBITMAP
XFontStruct *f;
GLuint fl;
- glNewList(tp->name_list, GL_COMPILE);
+# else /* !HAVE_GLBITMAP */
+ texture_font_data *f;
+# endif /* !HAVE_GLBITMAP */
if (MI_WIDTH(mi) >= 500 && MI_HEIGHT(mi) >= 375)
+# ifdef HAVE_GLBITMAP
f = tp->xfont1, fl = tp->font1_dlist;
+# else /* !HAVE_GLBITMAP */
+ f = tp->font1_data;
+# endif /* !HAVE_GLBITMAP */
else if (MI_WIDTH(mi) >= 350 && MI_HEIGHT(mi) >= 260)
+# ifdef HAVE_GLBITMAP
f = tp->xfont2, fl = tp->font2_dlist;
+# else /* !HAVE_GLBITMAP */
+ f = tp->font2_data;
+# endif /* !HAVE_GLBITMAP */
else
+# ifdef HAVE_GLBITMAP
f = tp->xfont3, fl = tp->font3_dlist;
+# else /* !HAVE_GLBITMAP */
+ f = tp->font3_data;
+# endif /* !HAVE_GLBITMAP */
+ glNewList(tp->name_list, GL_COMPILE);
glColor3f(0.8, 0.8, 0);
- print_gl_string(mi->dpy, f, fl,
+ print_gl_string(mi->dpy, f,
+# ifdef HAVE_GLBITMAP
+ fl,
+# endif /* !HAVE_GLBITMAP */
mi->xgwa.width, mi->xgwa.height,
10, mi->xgwa.height - 10, tp->pn, False);
glEndList();
draw_shapes(mi);
+ if (mi->fps_p) do_fps (mi);
+
glFlush();
glPopMatrix();
glXSwapBuffers(dpy, window);