ftp://ftp.krokus.ru/pub/OpenBSD/distfiles/xscreensaver-4.21.tar.gz
[xscreensaver] / hacks / glx / menger.c
index 4d40a8e955037f6ea0be8c75dc886ac1439c7665..7f0de44818c26cbf65fabc40618b7b29bbcf283e 100644 (file)
@@ -66,16 +66,10 @@ extern XtAppContext app;
 #define DEF_WANDER      "True"
 #define DEF_SPEED       "150"
 #define DEF_MAX_DEPTH   "3"
-#define DEF_OPTIMIZE    "True"
 
 #define DEFAULTS       "*delay:         30000          \n" \
                        "*showFPS:       False          \n" \
                        "*wireframe:     False          \n" \
-                       "*maxDepth:    " DEF_MAX_DEPTH "\n" \
-                       "*speed:"        DEF_SPEED     "\n" \
-                       "*optimize:"     DEF_OPTIMIZE  "\n" \
-                       "*spin:        " DEF_SPIN      "\n" \
-                       "*wander:      " DEF_WANDER    "\n" \
 
 
 #undef countof
@@ -118,7 +112,6 @@ static sponge_configuration *sps = NULL;
 static Bool do_spin;
 static Bool do_wander;
 static int speed;
-static Bool do_optimize;
 static int max_depth;
 
 static XrmOptionDescRec opts[] = {
@@ -127,16 +120,13 @@ static XrmOptionDescRec opts[] = {
   { "-wander", ".wander", XrmoptionNoArg, "True" },
   { "+wander", ".wander", XrmoptionNoArg, "False" },
   { "-speed",  ".speed",  XrmoptionSepArg, 0 },
-  { "-optimize", ".optimize", XrmoptionNoArg, "True" },
-  { "+optimize", ".optimize", XrmoptionNoArg, "False" },
-  {"-depth",   ".maxDepth", XrmoptionSepArg, (caddr_t) 0 },
+  {"-depth",   ".maxDepth", XrmoptionSepArg, 0 },
 };
 
 static argtype vars[] = {
   {&do_spin,     "spin",     "Spin",     DEF_SPIN,      t_Bool},
   {&do_wander,   "wander",   "Wander",   DEF_WANDER,    t_Bool},
   {&speed,       "speed",    "Speed",    DEF_SPEED,     t_Int},
-  {&do_optimize, "optimize", "Optimize", DEF_OPTIMIZE,  t_Bool},
   {&max_depth,   "maxDepth", "MaxDepth", DEF_MAX_DEPTH, t_Int},
 };
 
@@ -359,7 +349,7 @@ sponge_handle_event (ModeInfo *mi, XEvent *event)
   sponge_configuration *sp = &sps[MI_SCREEN(mi)];
 
   if (event->xany.type == ButtonPress &&
-      event->xbutton.button & Button1)
+      event->xbutton.button == Button1)
     {
       sp->button_down_p = True;
       gltrackball_start (sp->trackball,
@@ -368,11 +358,19 @@ sponge_handle_event (ModeInfo *mi, XEvent *event)
       return True;
     }
   else if (event->xany.type == ButtonRelease &&
-           event->xbutton.button & Button1)
+           event->xbutton.button == Button1)
     {
       sp->button_down_p = False;
       return True;
     }
+  else if (event->xany.type == ButtonPress &&
+           (event->xbutton.button == Button4 ||
+            event->xbutton.button == Button5))
+    {
+      gltrackball_mousewheel (sp->trackball, event->xbutton.button, 5,
+                              !!event->xbutton.state);
+      return True;
+    }
   else if (event->xany.type == MotionNotify &&
            sp->button_down_p)
     {