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
/
glx
/
stairs.c
diff --git
a/hacks/glx/stairs.c
b/hacks/glx/stairs.c
index 2dd78b873d40f28096c46803896756e347051bca..49a1542fc81509a26867916824757714ea846c0d 100644
(file)
--- a/
hacks/glx/stairs.c
+++ b/
hacks/glx/stairs.c
@@
-59,7
+59,6
@@
static const char sccsid[] = "@(#)stairs.c 4.07 97/11/24 xlockmore";
# define DEFAULTS "*delay: 20000 \n" \
"*showFPS: False \n"
# define DEFAULTS "*delay: 20000 \n" \
"*showFPS: False \n"
-# define refresh_stairs 0
# define release_stairs 0
# include "xlockmore.h" /* from the xscreensaver distribution */
#else /* !STANDALONE */
# define release_stairs 0
# include "xlockmore.h" /* from the xscreensaver distribution */
#else /* !STANDALONE */
@@
-85,7
+84,7
@@
ENTRYPOINT ModeSpecOpt stairs_opts =
#ifdef USE_MODULES
ModStruct stairs_description =
{"stairs", "init_stairs", "draw_stairs", NULL,
#ifdef USE_MODULES
ModStruct stairs_description =
{"stairs", "init_stairs", "draw_stairs", NULL,
- "draw_stairs", "change_stairs",
NULL
, &stairs_opts,
+ "draw_stairs", "change_stairs",
"free_stairs"
, &stairs_opts,
1000, 1, 1, 1, 4, 1.0, "",
"Shows Infinite Stairs, an Escher-like scene", 0, NULL};
1000, 1, 1, 1, 4, 1.0, "",
"Shows Infinite Stairs, an Escher-like scene", 0, NULL};
@@
-321,8
+320,14
@@
ENTRYPOINT void
reshape_stairs (ModeInfo * mi, int width, int height)
{
stairsstruct *sp = &stairs[MI_SCREEN(mi)];
reshape_stairs (ModeInfo * mi, int width, int height)
{
stairsstruct *sp = &stairs[MI_SCREEN(mi)];
+ int y = 0;
- glViewport(0, 0, sp->WindW = (GLint) width, sp->WindH = (GLint) height);
+ if (width > height * 5) { /* tiny window: show middle */
+ height = width;
+ y = -height/2;
+ }
+
+ glViewport(0, y, sp->WindW = (GLint) width, sp->WindH = (GLint) height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 15.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 15.0);
@@
-432,15
+437,13
@@
pinit(ModeInfo *mi)
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_specular);
}
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_specular);
}
-static void free_stairs (ModeInfo * mi);
-
ENTRYPOINT void
init_stairs (ModeInfo * mi)
{
int screen = MI_SCREEN(mi);
stairsstruct *sp;
ENTRYPOINT void
init_stairs (ModeInfo * mi)
{
int screen = MI_SCREEN(mi);
stairsstruct *sp;
- MI_INIT (mi, stairs
, free_stairs
);
+ MI_INIT (mi, stairs);
sp = &stairs[screen];
sp->step = 0.0;
sp = &stairs[screen];
sp->step = 0.0;
@@
-577,7
+580,7
@@
change_stairs (ModeInfo * mi)
}
#endif /* !STANDALONE */
}
#endif /* !STANDALONE */
-
static
void
+
ENTRYPOINT
void
free_stairs (ModeInfo * mi)
{
stairsstruct *sp = &stairs[MI_SCREEN(mi)];
free_stairs (ModeInfo * mi)
{
stairsstruct *sp = &stairs[MI_SCREEN(mi)];