http://packetstormsecurity.org/UNIX/admin/xscreensaver-3.29.tar.gz
[xscreensaver] / hacks / glx / cage.c
index 2a831893f7524941d29578855a184aecc3f3eb13..16bcfcf0c5aa7f80715a4fc2e07f526ebe5c0cdd 100644 (file)
@@ -38,9 +38,7 @@ static const char sccsid[] = "@(#)cage.c      4.07 98/01/04 xlockmore";
  * Since I'm not a native English speaker, my apologies for any grammatical
  * mistake.
  *
- * My e-mail addresses are
- * vianna@cat.cbpf.br 
- *         and
+ * My e-mail address is
  * m-vianna@usa.net
  *
  * Marcelo F. Vianna (Jun-01-1997)
@@ -84,9 +82,11 @@ static const char sccsid[] = "@(#)cage.c     4.07 98/01/04 xlockmore";
 # define PROGCLASS                     "Cage"
 # define HACK_INIT                     init_cage
 # define HACK_DRAW                     draw_cage
+# define HACK_RESHAPE                  reshape_cage
 # define cage_opts                     xlockmore_opts
 # define DEFAULTS                      "*cycles:               1       \n"                     \
-                                                       "*delay:                1000    \n"                     \
+                                                       "*delay:                20000   \n"                     \
+                                                       "*showFPS:      False   \n"                     \
                                                        "*wireframe:    False   \n"
 # include "xlockmore.h"                /* from the xscreensaver distribution */
 #else /* !STANDALONE */
@@ -294,8 +294,8 @@ draw_impossiblecage(cagestruct * cp)
        glPopMatrix();
 }
 
-static void
-reshape(ModeInfo * mi, int width, int height)
+void
+reshape_cage(ModeInfo * mi, int width, int height)
 {
        cagestruct *cp = &cage[MI_SCREEN(mi)];
 
@@ -374,7 +374,7 @@ init_cage(ModeInfo * mi)
 
        if ((cp->glx_context = init_GL(mi)) != NULL) {
 
-               reshape(mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+               reshape_cage(mi, MI_WIDTH(mi), MI_HEIGHT(mi));
                glDrawBuffer(GL_BACK);
                if (!glIsList(objects))
                        objects = glGenLists(1);
@@ -392,6 +392,8 @@ draw_cage(ModeInfo * mi)
        Display    *display = MI_DISPLAY(mi);
        Window      window = MI_WINDOW(mi);
 
+       MI_IS_DRAWN(mi) = True;
+
        if (!cp->glx_context)
                return;
 
@@ -417,6 +419,7 @@ draw_cage(ModeInfo * mi)
 
        glPopMatrix();
 
+    if (mi->fps_p) do_fps (mi);
        glFlush();
 
        glXSwapBuffers(display, window);