*/
#ifdef STANDALONE
-# define DEFAULTS "*count: 1000 \n" \
- "*cycles: 20 \n" \
- "*delay: 10000 \n" \
- "*ncolors: 200 \n" \
- "*fpsSolid: true \n" \
+# define DEFAULTS "*count: 1000 \n" \
+ "*cycles: 20 \n" \
+ "*delay: 10000 \n" \
+ "*ncolors: 200 \n" \
+ "*fpsSolid: true \n" \
+ "*ignoreRotation: True \n" \
# define UNIFORM_COLORS
+# define release_julia 0
# include "xlockmore.h" /* in xscreensaver distribution */
#else /* !STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
int nbuffers;
int redrawing, redrawpos;
Pixmap pixmap;
-#ifndef HAVE_COCOA
+#ifndef HAVE_JWXYZ
Cursor cursor;
#endif
GC stippledGC;
}
}
+static void free_julia (ModeInfo * mi);
+
ENTRYPOINT void
init_julia(ModeInfo * mi)
{
XGCValues gcv;
int i;
- if (julias == NULL) {
- if ((julias = (juliastruct *) calloc(MI_NUM_SCREENS(mi),
- sizeof (juliastruct))) == NULL)
- return;
- }
+ MI_INIT (mi, julias, free_julia);
jp = &julias[MI_SCREEN(mi)];
jp->centerx = MI_WIN_WIDTH(mi) / 2;
jp->depth = 10;
-#ifndef HAVE_COCOA
+#ifndef HAVE_JWXYZ
if (jp->button_down_p && !jp->cursor && !jp->cursor)
{
Pixmap bit;
0, 0);
XFreePixmap (display, bit);
}
-#endif /* HAVE_COCOA */
+#endif /* HAVE_JWXYZ */
if (jp->pixmap != None &&
jp->circsize != (MIN(jp->centerx, jp->centery) / 60) * 2 + 1) {
XFreeGC(display, bg_gc);
}
-#ifndef HAVE_COCOA
+#ifndef HAVE_JWXYZ
if (MI_WIN_IS_INROOT(mi))
;
else if (jp->circsize > 0)
XDefineCursor (display, window, jp->cursor);
else
XUndefineCursor (display, window);
-#endif /* HAVE_COCOA */
+#endif /* HAVE_JWXYZ */
if (!jp->stippledGC) {
gcv.foreground = MI_WIN_BLACK_PIXEL(mi);
/* draw a circle at the c-parameter so you can see it's effect on the
structure of the julia set */
XSetForeground(display, jp->stippledGC, MI_WIN_WHITE_PIXEL(mi));
-#ifndef HAVE_COCOA
+#ifndef HAVE_JWXYZ
XSetTSOrigin(display, jp->stippledGC, new_circle.x, new_circle.y);
XSetStipple(display, jp->stippledGC, jp->pixmap);
XSetFillStyle(display, jp->stippledGC, FillOpaqueStippled);
-#endif /* HAVE_COCOA */
+#endif /* HAVE_JWXYZ */
XDrawArc(display, window, jp->stippledGC,
new_circle.x-jp->circsize/2,
new_circle.y-jp->circsize/2,
}
}
-ENTRYPOINT void
-release_julia (ModeInfo * mi)
+static void
+free_julia (ModeInfo * mi)
{
- if (julias != NULL) {
- int screen;
-
- for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
- Display *display = MI_DISPLAY(mi);
- juliastruct *jp = &julias[screen];
- int buffer;
-
- if (jp->pointBuffer) {
- for (buffer = 0; buffer < jp->nbuffers; buffer++)
- if (jp->pointBuffer[buffer])
- (void) free((void *) jp->pointBuffer[buffer]);
- (void) free((void *) jp->pointBuffer);
- }
- if (jp->stippledGC != None)
- XFreeGC(display, jp->stippledGC);
- if (jp->pixmap != None)
- XFreePixmap(display, jp->pixmap);
-#ifndef HAVE_COCOA
- if (jp->cursor)
- XFreeCursor (display, jp->cursor);
-#endif
- }
- (void) free((void *) julias);
- julias = NULL;
+ Display *display = MI_DISPLAY(mi);
+ juliastruct *jp = &julias[MI_SCREEN(mi)];
+ int buffer;
+
+ if (jp->pointBuffer) {
+ for (buffer = 0; buffer < jp->nbuffers; buffer++)
+ if (jp->pointBuffer[buffer])
+ (void) free((void *) jp->pointBuffer[buffer]);
+ (void) free((void *) jp->pointBuffer);
}
+ if (jp->stippledGC != None)
+ XFreeGC(display, jp->stippledGC);
+ if (jp->pixmap != None)
+ XFreePixmap(display, jp->pixmap);
+#ifndef HAVE_JWXYZ
+ if (jp->cursor)
+ XFreeCursor (display, jp->cursor);
+#endif
}
ENTRYPOINT void