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.40.tar.gz
[xscreensaver]
/
hacks
/
discrete.c
diff --git
a/hacks/discrete.c
b/hacks/discrete.c
index 34c17671cc9534901ad693620e42f1d57a45e543..bfb4459a233324d31a0b45d8cb2c332d3498c7e0 100644
(file)
--- a/
hacks/discrete.c
+++ b/
hacks/discrete.c
@@
-38,12
+38,13
@@
static const char sccsid[] = "@(#)discrete.c 5.00 2000/11/01 xlockmore";
"*cycles: 2500 \n" \
"*ncolors: 100 \n" \
"*fpsSolid: true \n" \
"*cycles: 2500 \n" \
"*ncolors: 100 \n" \
"*fpsSolid: true \n" \
+ "*ignoreRotation: True \n" \
+ "*lowrez: True \n" \
# define SMOOTH_COLORS
# define SMOOTH_COLORS
-# define re
shap
e_discrete 0
+# define re
leas
e_discrete 0
# define discrete_handle_event 0
# include "xlockmore.h" /* in xscreensaver distribution */
# define discrete_handle_event 0
# include "xlockmore.h" /* in xscreensaver distribution */
-# include "erase.h"
#else /* STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
#endif /* STANDALONE */
#else /* STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
#endif /* STANDALONE */
@@
-55,8
+56,8
@@
ENTRYPOINT ModeSpecOpt discrete_opts =
#ifdef USE_MODULES
ModStruct discrete_description =
#ifdef USE_MODULES
ModStruct discrete_description =
-{"discrete", "init_discrete", "draw_discrete",
"release_discrete"
,
- "refresh_discrete", "init_discrete",
(char *) NULL
, &discrete_opts,
+{"discrete", "init_discrete", "draw_discrete",
(char *) NULL
,
+ "refresh_discrete", "init_discrete",
"free_discrete"
, &discrete_opts,
1000, 4096, 2500, 1, 64, 1.0, "",
"Shows various discrete maps", 0, NULL};
1000, 4096, 2500, 1, 64, 1.0, "",
"Shows various discrete maps", 0, NULL};
@@
-102,10
+103,6
@@
typedef struct {
int sqrt_sign, std_sign;
int sqrt_sign, std_sign;
-#ifdef STANDALONE
- eraser_state *eraser;
-#endif
-
} discretestruct;
static discretestruct *discretes = (discretestruct *) NULL;
} discretestruct;
static discretestruct *discretes = (discretestruct *) NULL;
@@
-116,12
+113,7
@@
init_discrete (ModeInfo * mi)
double range;
discretestruct *hp;
double range;
discretestruct *hp;
- if (discretes == NULL) {
- if ((discretes =
- (discretestruct *) calloc(MI_NUM_SCREENS(mi),
- sizeof (discretestruct))) == NULL)
- return;
- }
+ MI_INIT (mi, discretes);
hp = &discretes[MI_SCREEN(mi)];
hp->maxx = MI_WIDTH(mi);
hp = &discretes[MI_SCREEN(mi)];
hp->maxx = MI_WIDTH(mi);
@@
-250,10
+242,8
@@
init_discrete (ModeInfo * mi)
/* if fails will check later */
}
/* if fails will check later */
}
-#ifndef STANDALONE
/* Clear the background. */
MI_CLEARWINDOW(mi);
/* Clear the background. */
MI_CLEARWINDOW(mi);
-#endif
XSetForeground(MI_DISPLAY(mi), MI_GC(mi), MI_WHITE_PIXEL(mi));
hp->count = 0;
XSetForeground(MI_DISPLAY(mi), MI_GC(mi), MI_WHITE_PIXEL(mi));
hp->count = 0;
@@
-406,47
+396,44
@@
draw_discrete (ModeInfo * mi)
int cycles = MI_CYCLES(mi);
int i;
int cycles = MI_CYCLES(mi);
int i;
- if (hp->eraser) {
- hp->eraser = erase_window (MI_DISPLAY(mi), MI_WINDOW(mi), hp->eraser);
- return;
- }
-
for (i = 0; i < 10; i++) {
draw_discrete_1 (mi);
hp->count++;
}
if (hp->count > cycles) {
for (i = 0; i < 10; i++) {
draw_discrete_1 (mi);
hp->count++;
}
if (hp->count > cycles) {
- hp->eraser = erase_window (MI_DISPLAY(mi), MI_WINDOW(mi), hp->eraser);
init_discrete(mi);
}
}
ENTRYPOINT void
init_discrete(mi);
}
}
ENTRYPOINT void
-re
lease_discrete(ModeInfo * mi
)
+re
shape_discrete(ModeInfo * mi, int width, int height
)
{
{
- if (discretes != NULL) {
- int screen;
+ discretestruct *hp = &discretes[MI_SCREEN(mi)];
+ hp->maxx = width;
+ hp->maxy = height;
+ XClearWindow (MI_DISPLAY (mi), MI_WINDOW(mi));
+}
- for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
- discretestruct *hp = &discretes[screen];
+ENTRYPOINT void
+free_discrete(ModeInfo * mi)
+{
+ discretestruct *hp = &discretes[MI_SCREEN(mi)];
- if (hp->pointBuffer != NULL) {
- (void) free((void *) hp->pointBuffer);
- /* hp->pointBuffer = NULL; */
- }
- }
- (void) free((void *) discretes);
- discretes = (discretestruct *) NULL;
+ if (hp->pointBuffer != NULL) {
+ (void) free((void *) hp->pointBuffer);
+ /* hp->pointBuffer = NULL; */
}
}
}
}
+#ifndef STANDALONE
ENTRYPOINT void
refresh_discrete(ModeInfo * mi)
{
MI_CLEARWINDOW(mi);
}
ENTRYPOINT void
refresh_discrete(ModeInfo * mi)
{
MI_CLEARWINDOW(mi);
}
+#endif
XSCREENSAVER_MODULE ("Discrete", discrete)
XSCREENSAVER_MODULE ("Discrete", discrete)