From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / hacks / glx / tangram.c
index 2529e2a3c572425e11ca538a44dd5257c11b8ba0..e05a80438e88b046d14471056a848de8c7585bdd 100644 (file)
@@ -24,7 +24,6 @@
 
 # define refresh_tangram 0
 # define release_tangram 0
-# define tangram_handle_event 0
 #undef countof
 #define countof(x) (sizeof((x))/sizeof((*x)))
 
@@ -98,14 +97,7 @@ 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
+    texture_font_data *font1_data, *font2_data, *font3_data;
 
     GLuint name_list;
 
@@ -744,15 +736,9 @@ 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)
@@ -1044,37 +1030,17 @@ ENTRYPOINT void draw_tangram(ModeInfo * mi)
     glLoadIdentity();
     if (do_labels)
       {
-# ifdef HAVE_GLBITMAP
-        XFontStruct *f;
-        GLuint fl;
-# 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,
-# ifdef HAVE_GLBITMAP
-                        fl,
-# endif /* !HAVE_GLBITMAP */
                         mi->xgwa.width, mi->xgwa.height,
                         10, mi->xgwa.height - 10, tp->pn, False);
         glEndList();
@@ -1092,6 +1058,22 @@ ENTRYPOINT void draw_tangram(ModeInfo * mi)
     glXSwapBuffers(dpy, window);
 }
 
+ENTRYPOINT Bool
+tangram_handle_event (ModeInfo *mi, XEvent *event)
+{
+  tangram_configuration *tp = &tps[MI_SCREEN(mi)];
+
+  if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event))
+    {
+      tp->display_counter = 0;
+      return True;
+    }
+
+  return False;
+}
+
+
+
 XSCREENSAVER_MODULE ("Tangram", tangram)
 
 #endif                          /* USE_GL */