"*cycles: 250 \n" \
"*ncolors: 64 \n" \
"*fpsSolid: true \n" \
+ "*ignoreRotation: True \n" \
+ "*lowrez: True \n" \
# define UNIFORM_COLORS
+# define release_galaxy 0
+# define reshape_galaxy 0
# define galaxy_handle_event 0
# include "xlockmore.h" /* from the xscreensaver distribution */
#else /* !STANDALONE */
static unistruct *universes = NULL;
-static void
-free_galaxies(unistruct * gp)
+ENTRYPOINT void
+free_galaxy(ModeInfo * mi)
{
+ unistruct *gp = &universes[MI_SCREEN(mi)];
if (gp->galaxies != NULL) {
int i;
gp->rot_x = 0;
if (MI_BATCHCOUNT(mi) < -MINGALAXIES)
- free_galaxies(gp);
+ free_galaxy(mi);
gp->ngalaxies = MI_BATCHCOUNT(mi);
if (gp->ngalaxies < -MINGALAXIES)
gp->ngalaxies = NRAND(-gp->ngalaxies - MINGALAXIES + 1) + MINGALAXIES;
{
unistruct *gp;
- if (universes == NULL) {
- if ((universes = (unistruct *) calloc(MI_NUM_SCREENS(mi),
- sizeof (unistruct))) == NULL)
- return;
- }
+ MI_INIT (mi, universes);
gp = &universes[MI_SCREEN(mi)];
-# ifdef HAVE_COCOA /* Don't second-guess Quartz's double-buffering */
+# ifdef HAVE_JWXYZ /* Don't second-guess Quartz's double-buffering */
dbufp = False;
# endif
startover(mi);
}
-ENTRYPOINT void
-reshape_galaxy(ModeInfo * mi, int width, int height)
-{
- XClearWindow (MI_DISPLAY (mi), MI_WINDOW(mi));
- init_galaxy (mi);
-}
-
-ENTRYPOINT void
-release_galaxy(ModeInfo * mi)
-{
- if (universes != NULL) {
- int screen;
-
- for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++)
- free_galaxies(&universes[screen]);
- (void) free((void *) universes);
- universes = NULL;
- }
-}
-
+#ifndef STANDALONE
ENTRYPOINT void
refresh_galaxy(ModeInfo * mi)
{
/* Do nothing, it will refresh by itself */
}
+#endif
XSCREENSAVER_MODULE ("Galaxy", galaxy)