projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
http://slackware.bholcomb.com/slackware/slackware-11.0/source/xap/xscreensaver/xscree...
[xscreensaver]
/
hacks
/
julia.c
diff --git
a/hacks/julia.c
b/hacks/julia.c
index bff47db3127f8157ef7de3ceb5e6f9e02ce4b1d6..6a7323def51dc9687448082d5dec6f87a180cfaf 100644
(file)
--- a/
hacks/julia.c
+++ b/
hacks/julia.c
@@
-37,15
+37,13
@@
static const char sccsid[] = "@(#)julia.c 4.03 97/04/10 xlockmore";
*/
#ifdef STANDALONE
*/
#ifdef STANDALONE
-# define PROGCLASS "Julia"
-# define HACK_INIT init_julia
-# define HACK_DRAW draw_julia
-# define julia_opts xlockmore_opts
# define DEFAULTS "*count: 1000 \n" \
"*cycles: 20 \n" \
"*delay: 10000 \n" \
"*ncolors: 200 \n"
# define UNIFORM_COLORS
# define DEFAULTS "*count: 1000 \n" \
"*cycles: 20 \n" \
"*delay: 10000 \n" \
"*ncolors: 200 \n"
# define UNIFORM_COLORS
+# define reshape_julia 0
+# define julia_handle_event 0
# include "xlockmore.h" /* in xscreensaver distribution */
#else /* !STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
# include "xlockmore.h" /* in xscreensaver distribution */
#else /* !STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
@@
-58,19
+56,19
@@
static Bool track_p;
static XrmOptionDescRec opts[] =
{
static XrmOptionDescRec opts[] =
{
- {"-mouse", ".julia.mouse", XrmoptionNoArg,
(caddr_t)
"on"},
- {"+mouse", ".julia.mouse", XrmoptionNoArg,
(caddr_t)
"off"},
+ {"-mouse", ".julia.mouse", XrmoptionNoArg, "on"},
+ {"+mouse", ".julia.mouse", XrmoptionNoArg, "off"},
};
static argtype vars[] =
{
};
static argtype vars[] =
{
- {
(caddr_t *) &
track_p, "mouse", "Mouse", DEF_MOUSE, t_Bool},
+ {
&
track_p, "mouse", "Mouse", DEF_MOUSE, t_Bool},
};
static OptionStruct desc[] =
{
{"-/+mouse", "turn on/off mouse tracking"},
};
};
static OptionStruct desc[] =
{
{"-/+mouse", "turn on/off mouse tracking"},
};
-ModeSpecOpt julia_opts = { 2, opts, 1, vars, desc };
+
ENTRYPOINT
ModeSpecOpt julia_opts = { 2, opts, 1, vars, desc };
#define numpoints ((0x2<<jp->depth)-1)
#define numpoints ((0x2<<jp->depth)-1)
@@
-90,7
+88,9
@@
typedef struct {
int nbuffers;
int redrawing, redrawpos;
Pixmap pixmap;
int nbuffers;
int redrawing, redrawpos;
Pixmap pixmap;
+#ifndef HAVE_COCOA
Cursor cursor;
Cursor cursor;
+#endif
GC stippledGC;
XPoint **pointBuffer; /* pointer for XDrawPoints */
GC stippledGC;
XPoint **pointBuffer; /* pointer for XDrawPoints */
@@
-169,7
+169,7
@@
incr(ModeInfo * mi, juliastruct * jp)
}
}
}
}
-void
+
ENTRYPOINT
void
init_julia(ModeInfo * mi)
{
Display *display = MI_DISPLAY(mi);
init_julia(ModeInfo * mi)
{
Display *display = MI_DISPLAY(mi);
@@
-193,6
+193,7
@@
init_julia(ModeInfo * mi)
jp->depth = 10;
jp->depth = 10;
+#ifndef HAVE_COCOA
if (track_p && !jp->cursor)
{
Pixmap bit;
if (track_p && !jp->cursor)
{
Pixmap bit;
@@
-206,6
+207,7
@@
init_julia(ModeInfo * mi)
0, 0);
XFreePixmap (display, bit);
}
0, 0);
XFreePixmap (display, bit);
}
+#endif /* HAVE_COCOA */
if (jp->pixmap != None &&
jp->circsize != (MIN(jp->centerx, jp->centery) / 60) * 2 + 1) {
if (jp->pixmap != None &&
jp->circsize != (MIN(jp->centerx, jp->centery) / 60) * 2 + 1) {
@@
-234,12
+236,14
@@
init_julia(ModeInfo * mi)
XFreeGC(display, bg_gc);
}
XFreeGC(display, bg_gc);
}
+#ifndef HAVE_COCOA
if (MI_WIN_IS_INROOT(mi))
;
else if (jp->circsize > 0)
XDefineCursor (display, window, jp->cursor);
else
XUndefineCursor (display, window);
if (MI_WIN_IS_INROOT(mi))
;
else if (jp->circsize > 0)
XDefineCursor (display, window, jp->cursor);
else
XUndefineCursor (display, window);
+#endif /* HAVE_COCOA */
if (!jp->stippledGC) {
gcv.foreground = MI_WIN_BLACK_PIXEL(mi);
if (!jp->stippledGC) {
gcv.foreground = MI_WIN_BLACK_PIXEL(mi);
@@
-283,8
+287,8
@@
else if (xl>x) \
XFillRectangle(d,w,g,xl,yl,xs,ys)
XFillRectangle(d,w,g,xl,yl,xs,ys)
-void
-draw_julia(ModeInfo * mi)
+
ENTRYPOINT
void
+draw_julia
(ModeInfo * mi)
{
Display *display = MI_DISPLAY(mi);
Window window = MI_WINDOW(mi);
{
Display *display = MI_DISPLAY(mi);
Window window = MI_WINDOW(mi);
@@
-305,13
+309,14
@@
draw_julia(ModeInfo * mi)
old_circle.x, old_circle.y, jp->circsize, jp->circsize);
/* draw a circle at the c-parameter so you can see it's effect on the
structure of the julia set */
old_circle.x, old_circle.y, jp->circsize, jp->circsize);
/* draw a circle at the c-parameter so you can see it's effect on the
structure of the julia set */
- XSetTSOrigin(display, jp->stippledGC, new_circle.x, new_circle.y);
XSetForeground(display, jp->stippledGC, MI_WIN_WHITE_PIXEL(mi));
XSetForeground(display, jp->stippledGC, MI_WIN_WHITE_PIXEL(mi));
+#ifndef HAVE_COCOA
+ XSetTSOrigin(display, jp->stippledGC, new_circle.x, new_circle.y);
XSetStipple(display, jp->stippledGC, jp->pixmap);
XSetFillStyle(display, jp->stippledGC, FillOpaqueStippled);
XSetStipple(display, jp->stippledGC, jp->pixmap);
XSetFillStyle(display, jp->stippledGC, FillOpaqueStippled);
+#endif /* HAVE_COCOA */
XFillRectangle(display, window, jp->stippledGC, new_circle.x, new_circle.y,
jp->circsize, jp->circsize);
XFillRectangle(display, window, jp->stippledGC, new_circle.x, new_circle.y,
jp->circsize, jp->circsize);
- XFlush(display);
if (jp->erase == 1) {
XDrawPoints(display, window, gc,
jp->pointBuffer[jp->buffer], numpoints, CoordModeOrigin);
if (jp->erase == 1) {
XDrawPoints(display, window, gc,
jp->pointBuffer[jp->buffer], numpoints, CoordModeOrigin);
@@
-381,8
+386,8
@@
draw_julia(ModeInfo * mi)
}
}
}
}
-void
-release_julia(ModeInfo * mi)
+
ENTRYPOINT
void
+release_julia
(ModeInfo * mi)
{
if (julias != NULL) {
int screen;
{
if (julias != NULL) {
int screen;
@@
-402,19
+407,23
@@
release_julia(ModeInfo * mi)
XFreeGC(display, jp->stippledGC);
if (jp->pixmap != None)
XFreePixmap(display, jp->pixmap);
XFreeGC(display, jp->stippledGC);
if (jp->pixmap != None)
XFreePixmap(display, jp->pixmap);
+#ifndef HAVE_COCOA
if (jp->cursor)
XFreeCursor (display, jp->cursor);
if (jp->cursor)
XFreeCursor (display, jp->cursor);
+#endif
}
(void) free((void *) julias);
julias = NULL;
}
}
}
(void) free((void *) julias);
julias = NULL;
}
}
-void
-refresh_julia(ModeInfo * mi)
+
ENTRYPOINT
void
+refresh_julia
(ModeInfo * mi)
{
juliastruct *jp = &julias[MI_SCREEN(mi)];
jp->redrawing = 1;
jp->redrawpos = 0;
}
{
juliastruct *jp = &julias[MI_SCREEN(mi)];
jp->redrawing = 1;
jp->redrawpos = 0;
}
+
+XSCREENSAVER_MODULE ("Julia", julia)