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
/
triangle.c
diff --git
a/hacks/triangle.c
b/hacks/triangle.c
index d8be189a304e7de218ae0f7e2d98e075725d485d..e48c0870e6847cfd7a964962ecd0d99f16ef0cad 100644
(file)
--- a/
hacks/triangle.c
+++ b/
hacks/triangle.c
@@
-1,9
+1,8
@@
/* -*- Mode: C; tab-width: 4 -*- */
/* triangle --- create a triangle-mountain */
/* -*- Mode: C; tab-width: 4 -*- */
/* triangle --- create a triangle-mountain */
-#if
!defined( lint ) && !defined( SABER )
+#if
0
static const char sccsid[] = "@(#)triangle.c 4.04 97/07/28 xlockmore";
static const char sccsid[] = "@(#)triangle.c 4.04 97/07/28 xlockmore";
-
#endif
/*-
#endif
/*-
@@
-47,25
+46,29
@@
static const char sccsid[] = "@(#)triangle.c 4.04 97/07/28 xlockmore";
*/
#ifdef STANDALONE
*/
#ifdef STANDALONE
-# define PROGCLASS "Triangle"
-# define HACK_INIT init_triangle
-# define HACK_DRAW draw_triangle
-# define triangle_opts xlockmore_opts
# define DEFAULTS "*delay: 10000 \n" \
# define DEFAULTS "*delay: 10000 \n" \
- "*ncolors: 128 \n"
+ "*ncolors: 128 \n" \
+ "*fpsSolid: true \n" \
+
# define SMOOTH_COLORS
# define SMOOTH_COLORS
+# define free_triangle 0
+# define release_triangle 0
+# define reshape_triangle 0
+# define triangle_handle_event 0
# include "xlockmore.h" /* in xscreensaver distribution */
#else /* STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
#endif /* STANDALONE */
# include "xlockmore.h" /* in xscreensaver distribution */
#else /* STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
#endif /* STANDALONE */
-ModeSpecOpt triangle_opts =
+
ENTRYPOINT
ModeSpecOpt triangle_opts =
{0, NULL, 0, NULL, NULL};
#define MAX_STEPS 8
#define MAX_SIZE (1<<MAX_STEPS)
#define MAX_LEVELS 1000
{0, NULL, 0, NULL, NULL};
#define MAX_STEPS 8
#define MAX_SIZE (1<<MAX_STEPS)
#define MAX_LEVELS 1000
+#undef TOP /* FTSO AIX */
+
#define DELTA 0.4
#define LEFT (-0.25)
#define RIGHT 1.25
#define DELTA 0.4
#define LEFT (-0.25)
#define RIGHT 1.25
@@
-106,7
+109,7
@@
draw_atriangle(ModeInfo * mi, XPoint * p, int y_0, int y_1, int y_2, double dinv
Window window = MI_WINDOW(mi);
GC gc = MI_GC(mi);
Window window = MI_WINDOW(mi);
GC gc = MI_GC(mi);
- if (MI_N
PIXEL
S(mi) > 2) { /* color */
+ if (MI_N
COLOR
S(mi) > 2) { /* color */
int dmax, dmin;
long color;
int dmax, dmin;
long color;
@@
-118,11
+121,11
@@
draw_atriangle(ModeInfo * mi, XPoint * p, int y_0, int y_1, int y_2, double dinv
if (dmax == 0) {
color = BLUE;
} else {
if (dmax == 0) {
color = BLUE;
} else {
- color = MI_N
PIXEL
S(mi) -
- (int) ((double) MI_N
PIXEL
S(mi) / M_PI_2 * atan(dinv * (dmax - dmin)));
+ color = MI_N
COLOR
S(mi) -
+ (int) ((double) MI_N
COLOR
S(mi) / M_PI_2 * atan(dinv * (dmax - dmin)));
}
}
- XSetForeground(display, gc,
MI_PIXEL(mi, color % MI_NPIXELS(mi))
);
+ XSetForeground(display, gc,
mi->colors[color % MI_NCOLORS(mi)].pixel
);
XFillPolygon(display, window, gc, p, 3, Convex, CoordModeOrigin);
} else {
/* mono */
XFillPolygon(display, window, gc, p, 3, Convex, CoordModeOrigin);
} else {
/* mono */
@@
-216,18
+219,14
@@
draw_mesh(ModeInfo * mi, trianglestruct * tp, int d, int count)
}
}
}
}
-void
-init_triangle(ModeInfo * mi)
+
ENTRYPOINT
void
+init_triangle
(ModeInfo * mi)
{
trianglestruct *tp;
short *tmp;
int i, dim, one;
{
trianglestruct *tp;
short *tmp;
int i, dim, one;
- if (triangles == NULL) {
- if ((triangles = (trianglestruct *) calloc(MI_NUM_SCREENS(mi),
- sizeof (trianglestruct))) == NULL)
- return;
- }
+ MI_INIT (mi, triangles);
tp = &triangles[MI_SCREEN(mi)];
tp->width = MI_WIN_WIDTH(mi);
tp = &triangles[MI_SCREEN(mi)];
tp->width = MI_WIN_WIDTH(mi);
@@
-276,8
+275,8
@@
init_triangle(ModeInfo * mi)
}
}
}
}
-void
-draw_triangle(ModeInfo * mi)
+
ENTRYPOINT
void
+draw_triangle
(ModeInfo * mi)
{
trianglestruct *tp = &triangles[MI_SCREEN(mi)];
int d, d2, i, j, delta;
{
trianglestruct *tp = &triangles[MI_SCREEN(mi)];
int d, d2, i, j, delta;
@@
-295,20
+294,18
@@
draw_triangle(ModeInfo * mi)
#else
if (tp->stage == -1)
{
#else
if (tp->stage == -1)
{
- XSync(MI_DISPLAY(mi), False);
- usleep(2000000);
XClearWindow(MI_DISPLAY(mi), MI_WINDOW(mi));
XClearWindow(MI_DISPLAY(mi), MI_WINDOW(mi));
-# if 1
if (!mono_p)
{
if (!mono_p)
{
- free_colors(mi->
dpy
, mi->xgwa.colormap, mi->colors,
+ free_colors(mi->
xgwa.screen
, mi->xgwa.colormap, mi->colors,
mi->npixels);
mi->npixels);
- make_smooth_colormap (mi->dpy,
+ mi->npixels =
+ get_integer_resource (mi->dpy, "ncolors", "Integer");
+ make_smooth_colormap (mi->xgwa.screen,
mi->xgwa.visual, mi->xgwa.colormap,
mi->colors, &mi->npixels,
True, &mi->writable_p, True);
}
mi->xgwa.visual, mi->xgwa.colormap,
mi->colors, &mi->npixels,
True, &mi->writable_p, True);
}
-# endif /* 0 */
}
#endif
}
}
#endif
}
@@
-346,17
+343,12
@@
draw_triangle(ModeInfo * mi)
}
}
}
}
-void
-release_triangle(ModeInfo * mi)
-{
- if (triangles != NULL) {
- (void) free((void *) triangles);
- triangles = NULL;
- }
-}
-
-void
-refresh_triangle(ModeInfo * mi)
+#ifndef STANDALONE
+ENTRYPOINT void
+refresh_triangle (ModeInfo * mi)
{
/* Do nothing, it will refresh by itself */
}
{
/* Do nothing, it will refresh by itself */
}
+#endif
+
+XSCREENSAVER_MODULE ("Triangle", triangle)