From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / hacks / strange.c
index 632d347a49c14af1d93fad503796a160272c9c76..b1739acd534a7977e46bdd7c05de57c5325261d1 100644 (file)
@@ -43,7 +43,6 @@ static const char sccsid[] = "@(#)strange.c   5.00 2000/11/01 xlockmore";
 
 # define SMOOTH_COLORS
 # define refresh_strange 0
-# define strange_handle_event 0
 # include "xlockmore.h"                /* from the xscreensaver distribution */
 #else /* !STANDALONE */
 # include "xlock.h"            /* from the xlockmore distribution */
@@ -83,7 +82,7 @@ ModStruct   strange_description =
 "Shows strange attractors", 0, NULL};
 #endif
 
-#ifdef HAVE_COCOA
+#ifdef HAVE_JWXYZ
 # define NO_DBUF
 #endif
 
@@ -578,18 +577,18 @@ init_strange(ModeInfo * mi)
 
                gcv.foreground = 0;
                gcv.background = 0;
-#ifndef HAVE_COCOA
+#ifndef HAVE_JWXYZ
                gcv.graphics_exposures = False;
-#endif /* HAVE_COCOA */
+#endif /* HAVE_JWXYZ */
                gcv.function = GXcopy;
 
                if (Attractor->dbuf_gc != None)
                        XFreeGC(display, Attractor->dbuf_gc);
 
                if ((Attractor->dbuf_gc = XCreateGC(display, Attractor->dbuf,
-#ifndef HAVE_COCOA
+#ifndef HAVE_JWXYZ
                                GCGraphicsExposures |
-#endif /* HAVE_COCOA */
+#endif /* HAVE_JWXYZ */
                                GCFunction | GCForeground | GCBackground,
                                &gcv)) == None) {
                        XFreePixmap(display, Attractor->dbuf);
@@ -697,6 +696,18 @@ release_strange(ModeInfo * mi)
        }
 }
 
+ENTRYPOINT Bool
+strange_handle_event (ModeInfo *mi, XEvent *event)
+{
+  if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event))
+    {
+      reshape_strange (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+      return True;
+    }
+  return False;
+}
+
+
 XSCREENSAVER_MODULE ("Strange", strange)
 
 #endif /* MODE_strange */