From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / hacks / apollonian.c
index ab34e04abc67d1766ca5e5fba004e3c76cfd7133..72c0d002e55fe94d38092add108c93ad5afa664e 100644 (file)
@@ -70,12 +70,12 @@ static const char sccsid[] = "@(#)apollonian.c      5.02 2001/07/01 xlockmore";
                                        "*count:   64      \n" \
                                        "*cycles:  20      \n" \
                                        "*ncolors: 64      \n" \
+                                       "*font:    fixed" "\n" \
                                        "*fpsTop: true     \n" \
                                        "*fpsSolid: true   \n" \
+                                       "*ignoreRotation: True" \
 
 # define refresh_apollonian 0
-# define reshape_apollonian 0
-# define apollonian_handle_event 0
 # include "xlockmore.h"                /* in xscreensaver distribution */
 # include "erase.h"
 #else /* STANDALONE */
@@ -822,6 +822,24 @@ draw_apollonian (ModeInfo * mi)
       }
 }
 
+ENTRYPOINT void
+reshape_apollonian(ModeInfo * mi, int width, int height)
+{
+  XClearWindow (MI_DISPLAY (mi), MI_WINDOW(mi));
+  init_apollonian (mi);
+}
+
+ENTRYPOINT Bool
+apollonian_handle_event (ModeInfo *mi, XEvent *event)
+{
+  if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event))
+    {
+      reshape_apollonian (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+      return True;
+    }
+  return False;
+}
+
 ENTRYPOINT void
 release_apollonian (ModeInfo * mi)
 {