projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
From http://www.jwz.org/xscreensaver/xscreensaver-5.38.tar.gz
[xscreensaver]
/
hacks
/
sierpinski.c
diff --git
a/hacks/sierpinski.c
b/hacks/sierpinski.c
index dab702f22336b87dd315333a7c35ef30e833e6c1..ceaca2b8017f951ac7c94bf3ac879865c47ad25c 100644
(file)
--- a/
hacks/sierpinski.c
+++ b/
hacks/sierpinski.c
@@
-39,8
+39,11
@@
static const char sccsid[] = "@(#)sierpinski.c 5.00 2000/11/01 xlockmore";
"*cycles: 100 \n" \
"*ncolors: 64 \n" \
"*fpsSolid: true \n" \
"*cycles: 100 \n" \
"*ncolors: 64 \n" \
"*fpsSolid: true \n" \
+ "*ignoreRotation: True \n" \
+ "*lowrez: True \n" \
# define BRIGHT_COLORS
# define BRIGHT_COLORS
+# define release_sierpinski 0
# define reshape_sierpinski 0
# define sierpinski_handle_event 0
# include "xlockmore.h" /* in xscreensaver distribution */
# define reshape_sierpinski 0
# define sierpinski_handle_event 0
# include "xlockmore.h" /* in xscreensaver distribution */
@@
-55,8
+58,8
@@
ENTRYPOINT ModeSpecOpt sierpinski_opts =
#ifdef USE_MODULES
ModStruct sierpinski_description =
#ifdef USE_MODULES
ModStruct sierpinski_description =
-{"sierpinski", "init_sierpinski", "draw_sierpinski",
"release_sierpinski"
,
- "refresh_sierpinski", "init_sierpinski",
(char *) NULL
, &sierpinski_opts,
+{"sierpinski", "init_sierpinski", "draw_sierpinski",
(char *) NULL
,
+ "refresh_sierpinski", "init_sierpinski",
"free_sierpinski"
, &sierpinski_opts,
400000, 2000, 100, 1, 64, 1.0, "",
"Shows Sierpinski's triangle", 0, NULL};
400000, 2000, 100, 1, 64, 1.0, "",
"Shows Sierpinski's triangle", 0, NULL};
@@
-114,9
+117,10
@@
startover(ModeInfo * mi)
MI_CLEARWINDOW(mi);
}
MI_CLEARWINDOW(mi);
}
-
static
void
-free_sierpinski(
sierpinskistruct *sp
)
+
ENTRYPOINT
void
+free_sierpinski(
ModeInfo * mi
)
{
{
+ sierpinskistruct *sp = &tris[MI_SCREEN(mi)];
int corner;
for (corner = 0; corner < MAXCORNERS; corner++)
int corner;
for (corner = 0; corner < MAXCORNERS; corner++)
@@
-132,11
+136,7
@@
init_sierpinski(ModeInfo * mi)
int i;
sierpinskistruct *sp;
int i;
sierpinskistruct *sp;
- if (tris == NULL) {
- if ((tris = (sierpinskistruct *) calloc(MI_NUM_SCREENS(mi),
- sizeof (sierpinskistruct))) == NULL)
- return;
- }
+ MI_INIT (mi, tris);
sp = &tris[MI_SCREEN(mi)];
sp->width = MI_WIDTH(mi);
sp = &tris[MI_SCREEN(mi)];
sp->width = MI_WIDTH(mi);
@@
-153,7
+153,7
@@
init_sierpinski(ModeInfo * mi)
if (!sp->pointBuffer[i])
if ((sp->pointBuffer[i] = (XPoint *) malloc(sp->total_npoints *
sizeof (XPoint))) == NULL) {
if (!sp->pointBuffer[i])
if ((sp->pointBuffer[i] = (XPoint *) malloc(sp->total_npoints *
sizeof (XPoint))) == NULL) {
- free_sierpinski(
sp
);
+ free_sierpinski(
mi
);
return;
}
}
return;
}
}
@@
-200,24
+200,13
@@
draw_sierpinski(ModeInfo * mi)
startover(mi);
}
startover(mi);
}
-ENTRYPOINT void
-release_sierpinski(ModeInfo * mi)
-{
- if (tris != NULL) {
- int screen;
-
- for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++)
- free_sierpinski(&tris[screen]);
- (void) free((void *) tris);
- tris = (sierpinskistruct *) NULL;
- }
-}
-
+#ifndef STANDALONE
ENTRYPOINT void
refresh_sierpinski(ModeInfo * mi)
{
MI_CLEARWINDOW(mi);
}
ENTRYPOINT void
refresh_sierpinski(ModeInfo * mi)
{
MI_CLEARWINDOW(mi);
}
+#endif
XSCREENSAVER_MODULE ("Sierpinski", sierpinski)
XSCREENSAVER_MODULE ("Sierpinski", sierpinski)