X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Ftangram.c;h=a7af6428f88954da8d13a1398381524ab908cdda;hp=a80f7b0183feed545c455b7ba05afb528f7f8107;hb=f8cf5ac7b2f53510f80a0eaf286a25298be17bfe;hpb=ec8d2b32b63649e6d32bdfb306eda062769af823 diff --git a/hacks/glx/tangram.c b/hacks/glx/tangram.c index a80f7b01..a7af6428 100644 --- a/hacks/glx/tangram.c +++ b/hacks/glx/tangram.c @@ -98,10 +98,15 @@ typedef struct { 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]; @@ -739,9 +744,15 @@ static void draw_tangram_shape(tangram_shape ts) 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) @@ -1031,18 +1042,37 @@ ENTRYPOINT void draw_tangram(ModeInfo * mi) 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(); @@ -1053,6 +1083,8 @@ ENTRYPOINT void draw_tangram(ModeInfo * mi) draw_shapes(mi); + if (mi->fps_p) do_fps (mi); + glFlush(); glPopMatrix(); glXSwapBuffers(dpy, window);