"*wireframe: False \n" \
"*suppressRotationAnimation: True\n" \
-# define refresh_splodesic 0
+# define release_splodesic 0
#undef countof
#define countof(x) (sizeof((x))/sizeof((*x)))
{ "-spin", ".spin", XrmoptionNoArg, "True" },
{ "+spin", ".spin", XrmoptionNoArg, "False" },
{ "-speed", ".speed", XrmoptionSepArg, 0 },
- { "-depth", ".depth", XrmoptionSepArg, 0 },
+ { "-depth", ".freq", XrmoptionSepArg, 0 },
{ "-wander", ".wander", XrmoptionNoArg, "True" },
{ "+wander", ".wander", XrmoptionNoArg, "False" }
};
{&do_spin, "spin", "Spin", DEF_SPIN, t_Bool},
{&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
{&speed, "speed", "Speed", DEF_SPEED, t_Float},
- {&depth_arg, "depth", "Depth", DEF_DEPTH, t_Int},
+ {&depth_arg, "freq", "Depth", DEF_DEPTH, t_Int},
};
ENTRYPOINT ModeSpecOpt splodesic_opts = {countof(opts), opts, countof(vars), vars, NULL};
reshape_splodesic (ModeInfo *mi, int width, int height)
{
GLfloat h = (GLfloat) height / (GLfloat) width;
+ int y = 0;
- glViewport (0, 0, (GLint) width, (GLint) height);
+ if (width > height * 5) { /* tiny window: show middle */
+ height = width * 9/16;
+ y = -height/2;
+ h = height / (GLfloat) width;
+ }
+
+ glViewport (0, y, (GLint) width, (GLint) height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
splodesic_configuration *bp;
int wire = MI_IS_WIREFRAME(mi);
- if (!bps) {
- bps = (splodesic_configuration *)
- calloc (MI_NUM_SCREENS(mi), sizeof (splodesic_configuration));
- if (!bps) {
- fprintf(stderr, "%s: out of memory\n", progname);
- exit(1);
- }
- }
+ MI_INIT (mi, bps);
bp = &bps[MI_SCREEN(mi)];
ENTRYPOINT void
-release_splodesic (ModeInfo *mi)
+free_splodesic (ModeInfo *mi)
{
splodesic_configuration *bp = &bps[MI_SCREEN(mi)];
while (bp->triangles)