From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / hacks / glx / lockward.c
index 62d6ef3bdfb41430e985f1a3a98785453e6144f2..16a432001674e6885e1ac22759818e5d09b8cd36 100644 (file)
@@ -139,25 +139,34 @@ static int                g_blinkidle_min,
 static int             g_blinkdwell_min,
                        g_blinkdwell_max;
 
+#define DEF_BLINK              "True"
+#define DEF_ROTATEIDLEMIN      "1000"
+#define DEF_ROTATEIDLEMAX      "6000"
+#define DEF_BLINKIDLEMIN       "1000"
+#define DEF_BLINKIDLEMAX       "9000"
+#define DEF_BLINKDWELLMIN      "100"
+#define DEF_BLINKDWELLMAX      "600"
+
+
 static XrmOptionDescRec opts[] = {
        { "-blink",     ".blink",  XrmoptionNoArg, "on" },
        { "+blink",     ".blink",  XrmoptionNoArg, "off" },
-       { "-rotateidle-min",    ".rotateidle-min",      XrmoptionSepArg,        0 },
-       { "-rotateidle-max",    ".rotateidle-max",      XrmoptionSepArg,        0 },
-       { "-blinkidle-min",     ".blinkidle-min",       XrmoptionSepArg,        0 },
-       { "-blinkidle-max",     ".blinkidle-max",       XrmoptionSepArg,        0 },
-       { "-blinkdwell-min",    ".blinkdwell-min",      XrmoptionSepArg,        0 },
-       { "-blinkdwell-max",    ".blinkdwell-max",      XrmoptionSepArg,        0 },
+       { "-rotateidle-min",    ".rotateidlemin",       XrmoptionSepArg,        0 },
+       { "-rotateidle-max",    ".rotateidlemax",       XrmoptionSepArg,        0 },
+       { "-blinkidle-min",     ".blinkidlemin",        XrmoptionSepArg,        0 },
+       { "-blinkidle-max",     ".blinkidlemax",        XrmoptionSepArg,        0 },
+       { "-blinkdwell-min",    ".blinkdwellmin",       XrmoptionSepArg,        0 },
+       { "-blinkdwell-max",    ".blinkdwellmax",       XrmoptionSepArg,        0 },
 };
 
 static argtype vars[] = {
-       { &g_blink_p, "blink",  "Blink", "True", t_Bool },
-       { &g_rotateidle_min, "rotateidle-min",  "Rotateidle-min", "1000", t_Int },
-       { &g_rotateidle_max, "rotateidle-max",  "Rotateidle-max", "6000", t_Int },
-       { &g_blinkidle_min, "blinkidle-min", "Blinkidle-min", "1000", t_Int },
-       { &g_blinkidle_max, "blinkidle-max", "Blinkidle-max", "9000", t_Int },
-       { &g_blinkdwell_min, "blinkdwell-min", "Blinkdwell-min", "100", t_Int },
-       { &g_blinkdwell_max, "blinkdwell-max", "Blinkdwell-max", "600", t_Int },
+       { &g_blink_p, "blink",  "Blink", DEF_BLINK, t_Bool      },
+       { &g_rotateidle_min, "rotateidlemin",   "Rotateidlemin", DEF_ROTATEIDLEMIN, t_Int       },
+       { &g_rotateidle_max, "rotateidlemax",   "Rotateidlemax", DEF_ROTATEIDLEMAX, t_Int       },
+       { &g_blinkidle_min, "blinkidlemin", "Blinkidlemin", DEF_BLINKIDLEMIN, t_Int },
+       { &g_blinkidle_max, "blinkidlemax", "Blinkidlemax", DEF_BLINKIDLEMAX, t_Int },
+       { &g_blinkdwell_min, "blinkdwellmin", "Blinkdwellmin", DEF_BLINKDWELLMIN, t_Int },
+       { &g_blinkdwell_max, "blinkdwellmax", "Blinkdwellmax", DEF_BLINKDWELLMAX, t_Int },
 };
 
 static OptionStruct desc[] = {
@@ -188,9 +197,9 @@ reshape_lockward (ModeInfo *mi, int width, int height)
        glMatrixMode (GL_PROJECTION);
        glLoadIdentity ();
        if (height > width)
-               gluOrtho2D (-8.0, 8.0, -8.0 * h, 8.0 * h);
+               glOrtho (-8.0, 8.0, -8.0 * h, 8.0 * h, -1, 1);
        else
-               gluOrtho2D (-8.0 / h, 8.0 / h, -8.0, 8.0);
+               glOrtho (-8.0 / h, 8.0 / h, -8.0, 8.0, -1, 1);
 
        glMatrixMode (GL_MODELVIEW);
 }
@@ -205,7 +214,7 @@ lockward_handle_event (ModeInfo *mi, XEvent *event)
                char    c = 0;
 
                XLookupString (&event->xkey, &c, 1, &keysym, 0);
-               if (c == 'b') {
+               if (c == ' ' || c == '\t') {
                        ctx->blendmode ^= 1;
                        return True;
                }
@@ -281,7 +290,6 @@ gen_blade_arcs (lockward_context *ctx)
        there = M_PI * 2.0 / g_blades;
        step = there / SUBDIV;
        here -= SUBDIV * step / 2.0;
-       there -= SUBDIV * step / 2.0;
 
        /*
         * Build outer blade arcs.
@@ -797,9 +805,6 @@ init_lockward (ModeInfo *mi)
        glShadeModel (GL_FLAT);
        glFrontFace (GL_CW);
 
-
-       glClearColor (0.0, 0.0, 0.0, 1.0);
-
        ctx->blades_outer       = glGenLists (NRADII);
        ctx->blades_inner       = glGenLists (NRADII);
        ctx->rings              = glGenLists (NRADII - 1);